--- inherit_from: .rubocop_todo.yml AllCops: TargetRubyVersion: 2.3 require: - rubocop-performance - rubocop-rspec Layout/LineLength: Max: 120 Lint/RescueException: Exclude: - 'lib/custom_facts/util/parser.rb' Lint/RaiseException: Enabled: true Lint/StructNewOverride: Enabled: true Metrics/MethodLength: Max: 20 Exclude: - 'lib/custom_facts/util/values.rb' - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/core/execution/windows.rb' - 'lib/custom_facts/core/execution/base.rb' - 'lib/framework/detector/os_detector.rb' Metrics/ModuleLength: Max: 100 Exclude: - 'lib/facter.rb' - 'lib/facter-ng.rb' Metrics/BlockLength: Exclude: - !ruby/regexp /(?:(?!.+_spec.rb).)*$/ Naming/ClassAndModuleCamelCase: Exclude: - 'spec/mocks/**/*' Metrics/AbcSize: Max: 16 Exclude: - 'spec/custom_facts/util/parser_spec.rb' - 'spec/custom_facts/core/logging_spec.rb' - 'lib/custom_facts/util/values.rb' - 'lib/custom_facts/util/loader.rb' - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/core/execution/windows.rb' - 'lib/custom_facts/core/execution/base.rb' - 'lib/custom_facts/core/resolvable.rb' Metrics/PerceivedComplexity: Exclude: - 'lib/custom_facts/util/values.rb' - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/core/execution/windows.rb' - 'lib/custom_facts/core/execution/posix.rb' Metrics/CyclomaticComplexity: Exclude: - 'lib/custom_facts/util/values.rb' - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/core/execution/windows.rb' - 'lib/custom_facts/core/execution/posix.rb' - 'lib/framework/detector/os_detector.rb' Metrics/ClassLength: Exclude: - 'lib/custom_facts/util/fact.rb' - 'lib/resolvers/windows/networking_resolver.rb' - 'lib/custom_facts/util/collection.rb' - 'lib/framework/core/options/option_store.rb' - 'lib/framework/cli/cli.rb' - 'lib/resolvers/networking_linux_resolver.rb' Naming/AccessorMethodName: Exclude: - 'lib/custom_facts/core/suitable.rb' Naming/MethodName: Exclude: - 'spec/mocks/**/*' Naming/PredicateName: Exclude: - 'lib/custom_facts/core/suitable.rb' Naming/FileName: Exclude: - 'lib/facter.rb' - 'agent/lib/facter-ng.rb' RSpec/ExampleLength: Enabled: false RSpec/DescribedClass: EnforcedStyle: explicit RSpec/NestedGroups: Max: 5 Style/Documentation: Enabled: false Style/ClassVars: Exclude: - !ruby/regexp /(?:(?!.+_resolver.rb).)*$/ Style/FrozenStringLiteralComment: Exclude: - 'spec/custom_facts/util/normalization_spec.rb' - 'spec/custom_facts/shared_contexts/platform.rb' - 'spec/custom_facts/core/execution/windows_spec.rb' - 'spec/custom_facts/core/execution/posix_spec.rb' - 'lib/custom_facts/util/resolution.rb' - 'lib/custom_facts/core/execution/windows.rb' - 'lib/custom_facts/core/execution/posix.rb' Style/TrivialAccessors: AllowDSLWriters: true Style/CaseEquality: Exclude: - 'spec/custom_facts/util/confine_spec.rb' - 'lib/custom_facts/util/confine.rb' Style/DoubleNegation: Exclude: - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/util/confine.rb' - 'lib/custom_facts/core/execution/windows.rb' - 'lib/custom_facts/core/execution/posix.rb' Style/MethodMissingSuper: Exclude: - 'lib/facter.rb' Style/MissingRespondToMissing: Exclude: - 'lib/facter.rb' Style/StderrPuts: Exclude: - 'lib/custom_facts/core/logging.rb' Style/ModuleFunction: Exclude: - 'lib/custom_facts/core/logging.rb' Style/HashEachMethods: Enabled: false # not implemted in ruby 2.3 Style/HashTransformKeys: Enabled: false # not implemted in ruby 2.3 Style/HashTransformValues: Enabled: false # not implemted in ruby 2.3