AllCops: Exclude: - 'bin/**/*' - 'db/schema.rb' - 'doc/**/*' - 'docker_app/**/*' - 'Guardfile' - 'tmp/**/*' - 'vendor/**/*' # We need to configure exemptions for blocks that we generally accept to be # long, since they are less comparable to methods and more comparable to # modules/classes. Metrics/BlockLength: ExcludedMethods: - context - describe - namespace Exclude: - 'config/environments/*.rb' # instead of excluding all :configure methods - 'config/routes.rb' # The maximum amount of positional arguments in a method really shouldn't exceed # the rubocop default of 5. # However, keyword arguments do not make a method signature as unreadable as positional # arguments. There are valid cases for longer argument lists (e.g. data objects or # DSLs with implicit default values). # In those cases keyword args provide a good balance between readability and the need to # pass more arguments into an object. Metrics/ParameterLists: CountKeywordArgs: false Style/Documentation: Enabled: false # This cop tries to make you use module_funtion instead of extend self # This is bad because both have their own use-case and should not be used # and sometimes cannot be used to do the same thing Style/ModuleFunction: Enabled: false # While it is very often useful to separate numbers after every three digits # for readability, this mostly doesn't make sense if the number doesn't # represent an amount but rather an identifier. Thus the use of underscores # every three digits is recommended but not enforced. Style/NumericLiterals: Enabled: false # Do not force the same one letter variable names for all occurences of inject Style/SingleLineBlockParams: Enabled: false # No significant improvement in speed or memory usage apparent. Readability is # atrocious. Performance/Casecmp: Enabled: false # Not safe in a rails context, since Relation.count is != Enumerable.count Performance/Count: Enabled: false