2023年1月13日,星期五

一个用于正常运行时间监视器的端点,一个改进的帮助命令等

发布者:Emmanuel Hayford

哈喽。是我 又来了,为您带来 Rails 的常规更新。

调用帮助时显示相关命令 此拉取请求通过在用户运行 rails -hrails 的上下文中显示适当的命令来改善用户体验。在 Rails 应用程序外部运行时,输出将是 rails new 命令的选项。在 Rails 应用程序内部运行时,将显示常见的 Rails 命令。这消除了用户可能期望在不同上下文中看到不同命令的困惑。

让 HWIA#transform_keys 像 Ruby 的 Hash#transform_keys 一样接受 Hash 参数 HashWithIndifferentAccess#transform_keys 方法现在通过接受 Hash 参数来反映 Ruby 的 Hash#transform_keys 方法的功能。

让 delegate 在委托给类时定义具有正确参数数量的方法 此更改通过确保被定义的方法在委托给类时具有正确的参数数量来改进 delegate 方法。因此,定义的方法速度大大提高——在没有参数的情况下,速度可提高 3.5 倍。但是,应注意,为了利用此性能改进,目标方法必须在声明委托之前定义。

添加默认运行状况控制器 此拉取请求通过添加 Rails::HealthController#show 方法并将其映射到新生成的 Rails 应用程序中的“/up”路径,为负载均衡器和正常运行时间监视器引入了一个新终结点。有了这个新终结点,负载均衡器和正常运行时间监视器可以轻松跟踪应用程序是否正常运行。 

但是,如果您需要监视数据库、Redis 或应用程序所依赖的微服务的内部网络连接,您将需要自己实现监视。

在 bin/rails test 命令之前运行 test:prepare 此拉取请求通过使 bin/rails test 在准备测试方面等同于 bin/rake test,从而简化了在 CI 环境中运行所有测试的过程。这意味着单独运行 bin/rails test 现在将运行所有测试,无需额外的 bin/rake test 命令。

但是,重要的是要注意,默认情况下,单独运行 bin/rails test 不会包含系统测试,因为它们通常较慢。要也包含系统测试,您可以为 CI 管道添加一个额外的步骤来运行 bin/rails test:system,或者您可以将第一个步骤更改为 bin/rails test:all,它将运行包括系统测试在内的所有测试。

将 dockerfile 从使用 Node 19 更改为匹配开发环境 此拉取请求通过安装本地安装的 Node 和 Yarn 版本,将 libvips 的安装与 Node 分开,并通过运行 yarn 添加 node_modules 的安装,来改进生成的 Dockerfile。

本周我们有 33 位贡献者 为 Rails 做出了贡献。

下次再见!

订阅以通过邮件获取这些更新。