# This file was generated on 2014-08-23T21:27:12-07:00 from the rspec-dev repo. # DO NOT modify it by hand as your changes will get lost the next time it is generated. # This file contains defaults for RSpec projects. Individual projects # can customize by inheriting this file and overriding particular settings. AccessModifierIndentation: EnforcedStyle: outdent # "Use alias_method instead of alias" # We're fine with `alias`. Alias: Enabled: false AlignParameters: EnforcedStyle: with_first_parameter # "Avoid the use of the case equality operator ===" # We prefer using `Class#===` over `Object#is_a?` because `Class#===` # is less likely to be monkey patched than `is_a?` on a user object. CaseEquality: Enabled: false # Warns when the class is excessively long. ClassLength: Max: 100 CollectionMethods: PreferredMethods: reduce: 'inject' # Over time we'd like to get this down, but this is what we're at now. CyclomaticComplexity: Max: 10 # We use YARD to enforce documentation. It works better than rubocop's # enforcement...rubocop complains about the places we re-open # `RSpec::Expectations` and `RSpec::Matchers` w/o having doc commments. Documentation: Enabled: false # We still support 1.8.7 which requires trailing dots DotPosition: EnforcedStyle: trailing DoubleNegation: Enabled: false # each_with_object is unavailable on 1.8.7 so we have to disable this one. EachWithObject: Enabled: false Encoding: EnforcedStyle: when_needed FormatString: EnforcedStyle: percent # As long as we support ruby 1.8.7 we have to use hash rockets. HashSyntax: EnforcedStyle: hash_rockets # We can't use the new lambda syntax, since we still support 1.8.7. Lambda: Enabled: false # Over time we'd like to get this down, but this is what we're at now. LineLength: Max: 100 # Over time we'd like to get this down, but this is what we're at now. MethodLength: Max: 15 # Who cares what we call the argument for binary operator methods? OpMethod: Enabled: false PercentLiteralDelimiters: PreferredDelimiters: '%': () # double-quoted string '%i': '[]' # array of symbols '%q': () # single-quoted string '%Q': () # double-quoted string '%r': '{}' # regular expression pattern '%s': () # a symbol '%w': '[]' # array of single-quoted strings '%W': '[]' # array of double-quoted strings '%x': () # a shell command as a string # We have too many special cases where we allow generator methods or prefer a # prefixed predicate due to it's improved readability. PredicateName: Enabled: false # On 1.8 `proc` is `lambda`, so we use `Proc.new` to ensure we get real procs on all supported versions. # http://batsov.com/articles/2014/02/04/the-elements-of-style-in-ruby-number-12-proc-vs-proc-dot-new/ Proc: Enabled: false RedundantReturn: AllowMultipleReturnValues: true # We have to rescue Exception in the `raise_error` matcher for it to work properly. RescueException: Enabled: false # We haven't adopted the `fail` to signal exceptions vs `raise` for re-raises convention. SignalException: Enabled: false # We've tended to use no space, so it's less of a change to stick with that. SpaceAroundEqualsInParameterDefault: EnforcedStyle: no_space # We don't care about single vs double qoutes. StringLiterals: Enabled: false # This rule favors constant names from the English standard library which we don't load. Style/SpecialGlobalVars: Enabled: false Style/TrailingComma: Enabled: false TrivialAccessors: AllowDSLWriters: true AllowPredicates: true ExactNameMatch: true