2023 年 1 月 13 日,星期五

正常运行时间监视器的端点、改进的帮助命令等

由 Emmanuel Hayford 发表于

Halløj. 这是,又给你们带来了 Rails 中的常见好处。

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

让 HWIA#transform_keys 接受一个哈希参数,如 Ruby 的 Hash#transform_keysHashWithIndifferentAccess#transform_keys 方法现在镜像 Ruby 的 Hash#transform_keys 方法的功能,通过接受一个哈希参数。

让委托在委托给某个类时用合适的元数定义方法此更改通过确保在委托给某个类时,所定义的方法有合适的元数,改善了 delegate 方法。因此,所定义的方法明显更快——没有参数时快 3.5 倍。然而,应该注意的是,为了利用这一性能改善,目标委托方法必须在声明委托之前定义。

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

然而,如果需要监视数据库、Redis 或应用程序依赖的微服务的内部网络连接,需要自己执行监视。

在 bin/rails 测试命令之前运行 test:prepare此拉取请求简化了在 CI 环境中运行所有测试的过程,在准备测试时,让 bin/rails test 等同于 bin/rake test。这意味着现在仅运行 bin/rails test 将运行所有测试,无需其他 bin/rake test 命令。

然而,必须注意,默认情况下,仅运行 bin/rails test 不会包括系统测试,因为它们通常较慢。如要包括系统测试,可以向 CI 管线添加额外步骤,运行 bin/rails test:system,或者可以将第一步更改为 bin/rails test:all,后者除了系统测试外,也会运行所有测试。

将 dockerfile 从使用 node 19 更改为匹配 dev 环境此请求通过安装本地安装的 Node 和 Yarn 版本、将 libvips 的安装与 Node 解耦以及通过运行yarn添加node_modules的安装来改进生成的 Dockerfile。

本周的 Rails 有33 位贡献者

下期再见!

订阅接收通过邮件发送的这些更新。