2024 年 1 月 5 日星期五

任选纵享 RuboCop、Brakeman、Ruby 3.1+、allow_browser、rate_limit 等

zzak 发布的

嗨,zzak 在此发布了 2024 年第一期本周 Rails 博文。
今年以大量捐赠开局,近 170 次提交,抱歉我们无法将所有内容都放进一份时事通讯中。

自 Rails 7 起,Rails UJS 已弃用,将退出历史舞台
尽管官方包 @rails/ujs 仍发布在 NPM 上,并且资源管道的最终编译目标仍然存在,但所有源文件、测试和内部打包任务都已被移除。

添加默认 PWA 清单和服务工作者文件
现在,新生成的 Rails 应用程序包括清单和服务工作者文件,以成为成熟的渐进式网络应用程序。

为新的 Rails 应用程序添加 rubocop-rails-omakase
此功能利用 rubocop-rails-omakase Gem 为新的 Rails 应用程序设置基本的 RuboCop 配置。

默认将 Brakeman 添加到新应用程序
现在,新生成的 Rails 应用程序还包括 Brakeman,以增强的安全漏洞检查。

默认创建 GitHub CI 文件
随着将 RuboCop 和 Brakeman 添加到新应用程序,我们还添加了默认的 GitHub CI 工作流文件。

添加 allow_browser 为应用程序设置最低版本
现在您可以轻松指定受支持的浏览器以允许访问您的应用程序。

将所需的 Ruby 版本提升至 3.1.0
该团队正努力走在曲线的前面,Ruby 3.0 在 3 月份达到生命周期终点,现在似乎是提高这一要求的好时机。

通过 Kredis 限制器类型将速率限制添加到 Action Controller
最后,但同样重要的是,我们在 Action Controller 中有一个新的速率限制 API,它依赖于 Kredis 限制器类型

class SessionsController < ApplicationController
  rate_limit to: 10, within: 3.minutes, only: :create
end

class SignupsController < ApplicationController
  rate_limit to: 1000, within: 10.seconds,
    by: -> { request.domain }, with: -> { redirect_to busy_controller_url, alert: "Too many signups!" }, only: :new
end

您可以在此处查看完整的更改列表。上周有40 位贡献者为 Rails 代码库做出了贡献!

下周见!

订阅,将这些更新发送到您的邮箱。