本周新闻通讯的内容由撰写这些内容的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 的博客文章中阅读有关此问题的更多信息,以及此拉取请求背后的故事。
您是否知道 Action Cable 有一个未文档化的“faye 模式”?
不知道?很好。因为它现在已经被删除了!
本周就到这里了,和往常一样,有很多我们无法全部介绍的更改,请随时在此处查看!
下周再见!