diff --git a/.rubocop.yml b/.rubocop.yml index 86bb466..47a2495 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,480 +1,78 @@ +--- AllCops: + DisplayCopNames: true + TargetRubyVersion: '2.1' + Include: + - "./**/*.rb" Exclude: - # Ignore HTML related things - - '**/*.erb' - # Ignore vendored gems - - 'vendor/**/*' - # Ignore code from test fixtures - - 'spec/fixtures/**/*' - -Lint/ConditionPosition: - Enabled: true - -Lint/ElseLayout: - Enabled: true - -Lint/UnreachableCode: - Enabled: true - -Lint/UselessComparison: - Enabled: true - -Lint/EnsureReturn: - Enabled: true - -Lint/HandleExceptions: - Enabled: true - -Lint/LiteralInCondition: - Enabled: true - -Lint/ShadowingOuterLocalVariable: - Enabled: true - -Lint/LiteralInInterpolation: - Enabled: true - -Style/RedundantReturn: - Enabled: true - -Lint/AmbiguousOperator: - Enabled: true - -Lint/AssignmentInCondition: - Enabled: true - -Style/SpaceBeforeComment: - Enabled: true - -# DISABLED - not useful -Style/HashSyntax: - Enabled: false - -# USES: as shortcut for non nil&valid checking a = x() and a.empty? -# DISABLED - not useful -Style/AndOr: + - bin/* + - ".vendor/**/*" + - "**/Gemfile" + - "**/Rakefile" + - pkg/**/* + - spec/fixtures/**/* + - vendor/**/* + - "**/Puppetfile" + - "**/Vagrantfile" + - "**/Guardfile" +Metrics/LineLength: + Max: 200 +Metrics/BlockLength: Enabled: false - -# DISABLED - not useful -Style/RedundantSelf: +Metrics/ClassLength: Enabled: false - -# DISABLED - not useful Metrics/MethodLength: Enabled: false - -# DISABLED - not useful -Style/WhileUntilModifier: - Enabled: false - -# DISABLED - the offender is just haskell envy -Lint/AmbiguousRegexpLiteral: - Enabled: false - -# DISABLED -Lint/Eval: - Enabled: false - -# DISABLED -Lint/BlockAlignment: - Enabled: false - -# DISABLED -Lint/DefEndAlignment: - Enabled: false - -# DISABLED -Lint/EndAlignment: - Enabled: false - -# DISABLED -Lint/DeprecatedClassMethods: - Enabled: false - -# DISABLED -Lint/Loop: - Enabled: false - -# DISABLED -Lint/ParenthesesAsGroupedExpression: - Enabled: false - -Lint/RescueException: - Enabled: false - -Lint/StringConversionInInterpolation: - Enabled: false - -Lint/UnusedBlockArgument: - Enabled: false - -Lint/UnusedMethodArgument: - Enabled: false - -Lint/UselessAccessModifier: - Enabled: true - -Lint/UselessAssignment: - Enabled: true - -Lint/Void: - Enabled: true - -Style/AccessModifierIndentation: - Enabled: false - -Style/AccessorMethodName: - Enabled: false - -Style/Alias: - Enabled: false - -Style/AlignArray: - Enabled: false - -Style/AlignHash: - Enabled: false - -Style/AlignParameters: - Enabled: false - -Metrics/BlockNesting: - Enabled: false - -Style/AsciiComments: - Enabled: false - -Style/Attr: +Metrics/ModuleLength: Enabled: false - -Style/BracesAroundHashParameters: - Enabled: false - -Style/CaseEquality: +Metrics/ParameterLists: Enabled: false - -Style/CaseIndentation: +Metrics/PerceivedComplexity: Enabled: false - -Style/CharacterLiteral: +Metrics/CyclomaticComplexity: Enabled: false - -Style/ClassAndModuleCamelCase: +Metrics/AbcSize: Enabled: false - +Style/BlockDelimiters: + EnforcedStyle: braces_for_chaining Style/ClassAndModuleChildren: - Enabled: false - -Style/ClassCheck: - Enabled: false - -Metrics/ClassLength: - Enabled: false - -Style/ClassMethods: - Enabled: false - -Style/ClassVars: - Enabled: false - -Style/WhenThen: - Enabled: false - -# DISABLED - not useful + EnforcedStyle: compact +Style/EmptyElse: + EnforcedStyle: empty +Style/FormatString: + EnforcedStyle: percent +Style/FormatStringToken: + EnforcedStyle: template +Style/Lambda: + EnforcedStyle: literal +Style/RegexpLiteral: + EnforcedStyle: percent_r +Style/TernaryParentheses: + EnforcedStyle: require_parentheses_when_complex +Style/TrailingCommaInArguments: + EnforcedStyleForMultiline: comma +Style/TrailingCommaInArrayLiteral: + EnforcedStyleForMultiline: comma +Style/TrailingCommaInHashLiteral: + EnforcedStyleForMultiline: comma +Style/SymbolArray: + EnforcedStyle: brackets +Style/Documentation: + Exclude: + - lib/puppet/parser/functions/**/* Style/WordArray: + EnforcedStyle: brackets +Style/SymbolProc: Enabled: false - -Style/UnneededPercentQ: - Enabled: false - -Style/Tab: - Enabled: false - -Style/SpaceBeforeSemicolon: - Enabled: false - -Style/TrailingBlankLines: - Enabled: false - -Style/SpaceInsideBlockBraces: - Enabled: false - -Style/SpaceInsideBrackets: - Enabled: false - -Style/SpaceInsideHashLiteralBraces: - Enabled: false - -Style/SpaceInsideParens: - Enabled: false - -Style/LeadingCommentSpace: - Enabled: false - -Style/SpaceBeforeFirstArg: - Enabled: false - -Style/SpaceAfterColon: - Enabled: false - -Style/SpaceAfterComma: - Enabled: false - -Style/SpaceAroundKeyword: - Enabled: false - -Style/SpaceAfterMethodName: - Enabled: false - -Style/SpaceAfterNot: - Enabled: false - -Style/SpaceAfterSemicolon: - Enabled: false - -Style/SpaceAroundEqualsInParameterDefault: - Enabled: false - -Style/SpaceAroundOperators: - Enabled: false - -Style/SpaceBeforeBlockBraces: - Enabled: false - -Style/SpaceBeforeComma: - Enabled: false - Style/CollectionMethods: + Enabled: true +Style/MethodCalledOnDoEndBlock: + Enabled: true +Style/AsciiComments: Enabled: false - -Style/CommentIndentation: - Enabled: false - -Style/ColonMethodCall: - Enabled: false - -Style/CommentAnnotation: - Enabled: false - -Metrics/CyclomaticComplexity: - Enabled: false - -Style/ConstantName: - Enabled: false - -Style/Documentation: - Enabled: false - -Style/DefWithParentheses: - Enabled: false - -Style/DeprecatedHashMethods: - Enabled: false - -Style/DotPosition: - Enabled: false - -# DISABLED - used for converting to bool -Style/DoubleNegation: - Enabled: false - -Style/EachWithObject: - Enabled: false - -Style/EmptyLineBetweenDefs: - Enabled: false - -Style/IndentArray: - Enabled: false - -Style/IndentHash: - Enabled: false - -Style/IndentationConsistency: - Enabled: false - -Style/IndentationWidth: - Enabled: false - -Style/EmptyLines: - Enabled: false - -Style/EmptyLinesAroundAccessModifier: - Enabled: false - -Style/EmptyLiteral: - Enabled: false - -Metrics/LineLength: - Enabled: false - -Style/MethodCallParentheses: - Enabled: false - -Style/MethodDefParentheses: - Enabled: false - -Style/LineEndConcatenation: - Enabled: false - -Style/TrailingWhitespace: - Enabled: false - -Style/StringLiterals: - Enabled: false - -Style/TrailingCommaInArguments: - Enabled: false - -Style/TrailingCommaInLiteral: - Enabled: false - -Style/GlobalVars: - Enabled: false - -Style/GuardClause: - Enabled: false - +Style/StringMethods: + Enabled: true Style/IfUnlessModifier: Enabled: false - -Style/MultilineIfThen: - Enabled: false - -Style/NegatedIf: - Enabled: false - -Style/NegatedWhile: - Enabled: false - -Style/Next: - Enabled: false - -Style/SingleLineBlockParams: - Enabled: false - -Style/SingleLineMethods: - Enabled: false - -Style/SpecialGlobalVars: - Enabled: false - -Style/TrivialAccessors: - Enabled: false - -Style/UnlessElse: - Enabled: false - -Style/VariableInterpolation: - Enabled: false - -Style/VariableName: - Enabled: false - -Style/WhileUntilDo: - Enabled: false - -Style/EvenOdd: - Enabled: false - -Style/FileName: - Enabled: false - -Style/For: - Enabled: false - -Style/Lambda: - Enabled: false - -Style/MethodName: - Enabled: false - -Style/MultilineTernaryOperator: - Enabled: false - -Style/NestedTernaryOperator: - Enabled: false - -Style/NilComparison: - Enabled: false - -Style/FormatString: - Enabled: false - -Style/MultilineBlockChain: - Enabled: false - -Style/Semicolon: - Enabled: false - -Style/SignalException: - Enabled: false - -Style/NonNilCheck: - Enabled: false - -Style/Not: - Enabled: false - -Style/NumericLiterals: - Enabled: false - -Style/OneLineConditional: - Enabled: false - -Style/OpMethod: - Enabled: false - -Style/ParenthesesAroundCondition: - Enabled: false - -Style/PercentLiteralDelimiters: - Enabled: false - -Style/PerlBackrefs: - Enabled: false - -Style/PredicateName: - Enabled: false - -Style/RedundantException: - Enabled: false - -Style/SelfAssignment: - Enabled: false - -Style/Proc: - Enabled: false - -Style/RaiseArgs: - Enabled: false - -Style/RedundantBegin: - Enabled: false - -Style/RescueModifier: - Enabled: false - -Style/RegexpLiteral: - Enabled: false - -Lint/UnderscorePrefixedVariableName: - Enabled: false - -Metrics/ParameterLists: - Enabled: false - -Lint/RequireParentheses: - Enabled: false - -Style/ModuleFunction: - Enabled: false - -Lint/Debugger: - Enabled: false - -Style/IfWithSemicolon: - Enabled: false - -Style/Encoding: +Layout/EndOfLine: Enabled: false diff --git a/.travis.yml b/.travis.yml index b75065f..f9fe342 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,16 +6,14 @@ before_install: - gem update bundler rvm: - 2.1.0 - - 2.2.0 - - 2.3.0 + - 2.4.0 script: bundle exec rake test env: - - PUPPET_GEM_VERSION="~> 4.5.0" STRICT_VARIABLES=yes - - PUPPET_GEM_VERSION="~> 4.6.0" STRICT_VARIABLES=yes - - PUPPET_GEM_VERSION="~> 4.7.0" STRICT_VARIABLES=yes - - PUPPET_GEM_VERSION="~> 4.8.0" STRICT_VARIABLES=yes - - PUPPET_GEM_VERSION="~> 4.9.0" STRICT_VARIABLES=yes - PUPPET_GEM_VERSION="~> 4.10.0" STRICT_VARIABLES=yes - PUPPET_GEM_VERSION="~> 5.0.0" STRICT_VARIABLES=yes + - PUPPET_GEM_VERSION="~> 5.1.0" STRICT_VARIABLES=yes + - PUPPET_GEM_VERSION="~> 5.2.0" STRICT_VARIABLES=yes + - PUPPET_GEM_VERSION="~> 5.3.0" STRICT_VARIABLES=yes + - PUPPET_GEM_VERSION="~> 5.5.0" STRICT_VARIABLES=yes matrix: exclude: diff --git a/Gemfile b/Gemfile index 0163049..12f4c57 100644 --- a/Gemfile +++ b/Gemfile @@ -1,23 +1,24 @@ source "https://rubygems.org" -puppetversion = ENV['PUPPET_VERSION'].nil? ? '~> 4.5' : ENV['PUPPET_VERSION'].to_s +puppetversion = ENV['PUPPET_VERSION'].nil? ? '~> 4.10' : ENV['PUPPET_VERSION'].to_s puppetver = Gem::Version.new(%r/([\d.]+)/.match(puppetversion)[1]) group :test do gem "rake" gem "puppet", puppetversion - gem "rspec", '~> 3.4.0' + gem "rspec", '~> 3.8.0' gem "rspec-puppet", :git => 'https://github.com/rodjek/rspec-puppet.git' gem "puppetlabs_spec_helper", '~> 2.1' gem "metadata-json-lint" gem "rspec-puppet-facts" - gem 'rubocop', '0.40.0' + gem 'rubocop', '0.57.2' gem 'semantic_puppet' unless puppetver >= Gem::Version.new('5.0') gem 'simplecov', '>= 0.11.0' gem 'simplecov-console' gem 'puppet-lint', '>= 2.0.0' gem 'puppet-syntax', '~> 2.4.0' gem 'json_pure', '<= 2.0.1' if RUBY_VERSION < '2.0.0' + gem 'net-telnet', '0.1.1' end group :development do