本周新闻稿的内容由 19 位撰写它们的个人赞助!
即将发布的 Ruby 2.4 版本 中的一个显着变更是 Fixnum
和 Bignum
统一到一个 Integer
类。继这一变更后,遗产类 最近已被弃用。
此拉取请求避免通过功能检测触发那些弃用警告。如果你维护引用那些常量的代码,你可能也想在你的项目中采用此模式!
与整型类的统一相关:引用 rb_cFixum
和 rb_cBignum
C 常量的本机扩展也需要更新。
流行的 json gem 是此类本机扩展之一。幸运的是,所有现代版本的 Ruby 都捆绑了 json 库。如果你面向 Ruby 1.9 及更高版本,你可以简单地 移除 json gem 作为依赖关系。
早在五月,有人报告了一个 回归:Rails 5 在每个请求上无效化 Ruby 的 class_serial
。此内部计数器用于无效化类级别的 方法缓存。
该问题追踪到对 instance_exec
的使用。尽管 有希望 在 Ruby 本身内部放松此限制,此补丁至少在 Rails 方面暂时修复了问题。
曾经,Time.zone.now
会明显慢于 Time.now
(据称慢 25 倍)。此拉取请求极大地缩小了差距。
你是否尝试渲染部分同时注入名为“class”或“module”的局部变量?它不起作用,并会给你一个非常奇怪的错误。
此拉取请求通过跳过无效局部变量名称来避免错误,同时仍允许通过 local_assigns
来访问它们。
你可以在 Peter's 博客文章 中了解有关此问题以及此拉取请求背后的故事的更多信息。
你知道 Action Cable 有一个私下的“faye 模式”吗?
没有?很好,因为它现在已经不在了!
本周就是这样,和往常一样,还有更多内容,你可以到 这里 自行查看!
下周见!