##################### Rails ################################## # By default Rails is switched off so this can be used by non-Rails apps, # this can be enabled in a local .rubocop.yml file require: rubocop-rails AllCops: Exclude: - 'db/schema.rb' - 'db/migrate/201*' Rails: Enabled: true # We commonly print output in Ruby code that has been # extracted from a Rake task in 'lib/'. Rails/Output: Exclude: - 'lib/**/*.rb' # It's unclear what remedial action to take for the total # set of methods this Cop has issues with. For example, we # use 'update_all' in many of our repos, for which there is # no efficient alternative. Instead, we should only enable # this Cop for methods that have a clear alternative. Rails/SkipsModelValidations: Blacklist: - update_attribute # While using has_many/through does have some advantages, # it also requires a significant amount of boilerplate code: # # - An additional 'has_many :join_table' statement # - An additional class for the join table (model) # # This Cop/rule appears to have been written with the # assumption that all join tables have inherent meaning, # we want to represent, which is not the case; sometimes # relationships are just # many-to-many, and that's it. Rails/HasAndBelongsToMany: Enabled: false