跳转至

Ruby 钩子

此文件使用 Ruby 和 Rails 特定内容扩展 common/hooks.md。

PostToolUse 钩子

配置项目本地钩子,以优先使用 binstub 和已签入的工具:

  • RuboCop:在 Ruby 编辑后运行 bundle exec rubocop -A <file> 或项目更安全的格式化命令。
  • Brakeman:在对 Rails 进行与安全相关的更改后运行 bundle exec brakeman --no-pager。
  • 测试:对已更改的文件运行范围最窄的 bin/rails test ... 或 bundle exec rspec ... 命令。
  • Bundler audit:如果 Gemfile 或 Gemfile.lock 被更改,并且项目中已安装 bundler-audit,则运行 bundle exec bundle-audit check --update。

警告

  • 对提交到应用代码中的 debugger、binding.irb、binding.pry、puts、pp、p 调用发出警告。
  • 当编辑禁用 CSRF 保护、扩大批量赋值,或在未参数化的情况下添加原始 SQL 时发出警告。
  • 当迁移在没有可逆路径或已记录的发布计划的情况下破坏性地更改数据时发出警告。

CI 门禁建议

bundle exec rubocop
bundle exec brakeman --no-pager
bin/rails test
bundle exec rspec

仅使用项目中存在的命令。未经维护者批准,不要安装新的钩子依赖项。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC