rubocopってgemの順番にイチイチつっこんできますよね…みたいな記憶だけがあって実際には言われないな…みたいな話で気づいたメモ、原理までは追えなかったのでとりあえず。
前提
Bundler/OrderedGems
が default で enable なので反応する
当該コード:rubocop/ordered_gems.rb at master · rubocop-hq/rubocop
動き
# frozen_string_literal: true source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.5.0' gem 'jbuilder', '~> 2.5' gem 'rails', '~> 5.2.2' gem 'mysql2', '>= 0.4.4', '< 0.6.0' #後略
みたいなものがあると
$ bundle exec rubocop Gemfile Inspecting 1 file C Offenses: Gemfile:10:1: C: Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem mysql2 should appear before rails. gem 'mysql2', '>= 0.4.4', '< 0.6.0' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
のように反応し、railsの前にしろといわれる。
書き方
空行なしで連なっているものだけ反応するので、空行かコメントを加える。すなわち…
gem 'jbuilder', '~> 2.5' gem 'rails', '~> 5.2.2' gem 'mysql2', '>= 0.4.4', '< 0.6.0'
こうすると反応しなくなる