defmastership 1.0.17 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.gitlab-ci.yml +37 -11
  4. data/Gemfile +71 -1
  5. data/Guardfile +44 -0
  6. data/Rakefile +16 -61
  7. data/bin/defmastership +9 -6
  8. data/config/cucumber.yml +3 -0
  9. data/config/mutant.yml +27 -3
  10. data/config/reek.yml +129 -105
  11. data/config/rubocop.yml +72 -28
  12. data/defmastership.gemspec +5 -13
  13. data/features/changeref.feature +0 -8
  14. data/features/definition_checksum.feature +30 -10
  15. data/features/definition_version.feature +168 -10
  16. data/features/export.feature +64 -17
  17. data/features/modify.feature +1 -5
  18. data/features/rename_included_files.feature +27 -4
  19. data/features/step_definitions/git_steps.rb +19 -0
  20. data/lib/defmastership/batch_modifier.rb +17 -12
  21. data/lib/defmastership/change_ref_modifier.rb +88 -6
  22. data/lib/defmastership/comment_filter.rb +1 -1
  23. data/lib/defmastership/constants.rb +10 -7
  24. data/lib/defmastership/csv_formatter.rb +16 -12
  25. data/lib/defmastership/csv_formatter_body.rb +18 -15
  26. data/lib/defmastership/csv_formatter_header.rb +1 -1
  27. data/lib/defmastership/definition.rb +59 -20
  28. data/lib/defmastership/document.rb +101 -74
  29. data/lib/defmastership/matching_line.rb +17 -0
  30. data/lib/defmastership/modifier.rb +42 -0
  31. data/lib/defmastership/modifier_factory.rb +12 -0
  32. data/lib/defmastership/parsing_state.rb +15 -9
  33. data/lib/defmastership/rename_included_files_modifier.rb +172 -5
  34. data/lib/defmastership/set_join_hack.rb +11 -0
  35. data/lib/defmastership/update_def_checksum_modifier.rb +8 -13
  36. data/lib/defmastership/update_def_modifier.rb +49 -0
  37. data/lib/defmastership/update_def_version_modifier.rb +81 -15
  38. data/lib/defmastership/version.rb +1 -1
  39. data/lib/defmastership.rb +1 -6
  40. data/spec/spec_helper.rb +3 -1
  41. data/spec/unit/def_mastership/batch_modifier_spec.rb +40 -36
  42. data/spec/unit/def_mastership/change_ref_modifier_spec.rb +196 -51
  43. data/spec/unit/def_mastership/csv_formatter_body_spec.rb +60 -31
  44. data/spec/unit/def_mastership/csv_formatter_header_spec.rb +1 -1
  45. data/spec/unit/def_mastership/csv_formatter_spec.rb +79 -87
  46. data/spec/unit/def_mastership/definition_parser_spec.rb +1 -1
  47. data/spec/unit/def_mastership/definition_spec.rb +16 -6
  48. data/spec/unit/def_mastership/document_spec.rb +81 -38
  49. data/spec/unit/def_mastership/matching_line_spec.rb +37 -0
  50. data/spec/unit/def_mastership/modifier_factory_spec.rb +38 -0
  51. data/spec/unit/def_mastership/modifier_spec.rb +85 -0
  52. data/spec/unit/def_mastership/parsing_state_spec.rb +1 -1
  53. data/spec/unit/def_mastership/rename_included_files_modifier_spec.rb +219 -47
  54. data/spec/unit/def_mastership/string_spec.rb +1 -1
  55. data/spec/unit/def_mastership/update_def_checksum_modifier_spec.rb +82 -50
  56. data/spec/unit/def_mastership/update_def_modifier_spec.rb +121 -0
  57. data/spec/unit/def_mastership/update_def_version_modifier_spec.rb +327 -56
  58. data/tasks/code_quality.rake +74 -0
  59. data/tasks/console.rake +8 -0
  60. data/tasks/package.task +9 -0
  61. data/tasks/test.rake +30 -0
  62. metadata +33 -145
  63. data/.rubocop.yml +0 -76
  64. data/config/devtools.yml +0 -2
  65. data/config/flay.yml +0 -3
  66. data/config/flog.yml +0 -2
  67. data/config/yardstick.yml +0 -2
  68. data/cucumber.yml +0 -2
  69. data/lib/defmastership/change_ref_line_modifier.rb +0 -85
  70. data/lib/defmastership/line_modifier_base.rb +0 -29
  71. data/lib/defmastership/modifier_base.rb +0 -36
  72. data/lib/defmastership/rename_included_files_line_modifier.rb +0 -126
  73. data/lib/defmastership/update_def_checksum_line_modifier.rb +0 -38
  74. data/lib/defmastership/update_def_version_line_modifier.rb +0 -58
  75. data/spec/unit/def_mastership/change_ref_line_modifier_spec.rb +0 -250
  76. data/spec/unit/def_mastership/rename_included_files_line_modifier_spec.rb +0 -207
  77. data/spec/unit/def_mastership/update_def_checksum_line_modifier_spec.rb +0 -82
  78. data/spec/unit/def_mastership/update_def_version_line_modifier_spec.rb +0 -131
  79. /data/{.rspec → config/rspec} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29225577d47450033d4ea2c9715ab51cb2025318ff26da38435c11900ff0cb52
4
- data.tar.gz: a36cb1eb3b8c45cb14b74200d43163edd1907bcfe7ed2a54d15f4f1ebd341454
3
+ metadata.gz: 6075e9ff9eb3bb1d4080344f8288946ed3ae008c0ef7c943e558417ac1922084
4
+ data.tar.gz: 2707d0ef2c7ac04eb6fb5ff07362584243c3f8d7661a9e7f617d8239b79d162d
5
5
  SHA512:
6
- metadata.gz: bb97db7204c4665f53c5f57e03737e31a88373a928ce4157f912938b84feff1b3b7f260365fa210bab905b47eb87c336e259e91d1a77d73ace80e84f8152d464
7
- data.tar.gz: 4c359dbf1017c365d9c00faf7617233e3793093dba327d39982cebd7dabd68a7b5af0a999568c91775cd16a2a8af9cc544a67fdf3acedf92d65120269c372d18
6
+ metadata.gz: 6670fef12836200db63e7bff8eec4afd5dad49e53a1d873b84816572933ca7fee2364076691f4e55d7858e3a49398b34d601f1c1ba6a7f05b9a8628b393acc03
7
+ data.tar.gz: e0169b605d73381d402c932cdd6387cb06cca5287364735c4a95c5fe5087845a24b4bc62018a87676510520db5ea6d656b4e1a9cb2e8586b772f6c0deae7f87f
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ *~
1
2
  /*_results.html
2
3
  /tmp
3
4
  /coverage
data/.gitlab-ci.yml CHANGED
@@ -1,51 +1,77 @@
1
1
  default:
2
- image: ruby:3.2
2
+ image: ruby:3.3
3
3
  before_script:
4
4
  - apt-get update
5
5
  - ruby -v
6
6
  - which ruby
7
7
  - gem install bundler --no-document
8
8
  - bundle install --jobs $(nproc) "${FLAGS[@]}"
9
+ - git config --global user.email "you@example.com"
10
+ - git config --global user.name "Your Name"
9
11
 
10
12
  bdd:
11
13
  script:
12
- - bundle exec rake features
14
+ - bundle exec rake test:features
13
15
 
14
16
  unit tests:
15
17
  script:
16
- - bundle exec rake spec
18
+ - bundle exec rake test:spec
17
19
 
18
- rubocop:
20
+ code_quality:
19
21
  script:
20
- - bundle exec rake rubocop
22
+ - bundle exec rake quality:all
21
23
 
22
24
  bdd ruby2.7:
23
25
  image: ruby:2.7
26
+ before_script:
27
+ - apt-get update
28
+ - ruby -v
29
+ - which ruby
30
+ - gem install bundler -v 2.4.22 --no-document
31
+ - bundle install --jobs $(nproc) "${FLAGS[@]}"
32
+ - git config --global user.email "you@example.com"
33
+ - git config --global user.name "Your Name"
24
34
  script:
25
- - bundle exec rake features
35
+ - bundle exec rake test:features
26
36
 
27
37
  bdd ruby3.0:
28
38
  image: ruby:3.0
29
39
  script:
30
- - bundle exec rake features
40
+ - bundle exec rake test:features
31
41
 
32
42
  bdd ruby3.1:
33
43
  image: ruby:3.1
34
44
  script:
35
- - bundle exec rake features
45
+ - bundle exec rake test:features
46
+
47
+ bdd ruby3.2:
48
+ image: ruby:3.2
49
+ script:
50
+ - bundle exec rake test:features
36
51
 
37
52
  unit tests ruby2.7:
38
53
  image: ruby:2.7
54
+ before_script:
55
+ - apt-get update
56
+ - ruby -v
57
+ - which ruby
58
+ - gem install bundler -v 2.4.22 --no-document
59
+ - bundle install --jobs $(nproc) "${FLAGS[@]}"
39
60
  script:
40
- - bundle exec rake spec
61
+ - bundle exec rake test:spec
41
62
 
42
63
  unit tests ruby3.0:
43
64
  image: ruby:3.0
44
65
  script:
45
- - bundle exec rake spec
66
+ - bundle exec rake test:spec
46
67
 
47
68
  unit tests ruby3.1:
48
69
  image: ruby:3.1
49
70
  script:
50
- - bundle exec rake spec
71
+ - bundle exec rake test:spec
72
+
73
+ unit tests ruby3.2:
74
+ image: ruby:3.2
75
+ script:
76
+ - bundle exec rake test:spec
51
77
 
data/Gemfile CHANGED
@@ -1,5 +1,75 @@
1
1
  # Copyright (c) 2020 Jerome Arbez-Gindre
2
2
  # frozen_string_literal: true
3
3
 
4
- source('https://rubygems.org')
4
+ source 'https://rubygems.org'
5
+
5
6
  gemspec
7
+
8
+ ruby RUBY_VERSION
9
+
10
+ # rubocop:disable Metrics/BlockLength
11
+ group :development do
12
+ # cucumber steps for command line tests
13
+ gem 'aruba', '~> 2.2'
14
+ # bdd
15
+ gem 'cucumber', '~> 9.2'
16
+
17
+ # code duplication
18
+ gem 'flay', '~> 2'
19
+
20
+ # automatic test run
21
+ gem 'guard', '~> 2'
22
+ # automatic update invocation
23
+ gem 'guard-bundler', '~> 3'
24
+ if RUBY_VERSION >= '3.0'
25
+ # automatic style check
26
+ gem 'guard-reek', '~> 1.2'
27
+ end
28
+ # automatic tdd
29
+ gem 'guard-rspec', '~> 4'
30
+ # automatic style check
31
+ gem 'guard-rubocop', '~> 1'
32
+
33
+ if RUBY_VERSION >= '3.0'
34
+ # mutation testing
35
+ plan = 'oss'
36
+ key = '7oac4dMz95cTUuFPtGDfTDSQep6ZhdGW'
37
+ source "https://#{plan}:#{key}@gem.mutant.dev" do
38
+ # license needed
39
+ gem 'mutant-license', '~> 0.1.1'
40
+ end
41
+ # mutation testing
42
+ gem 'mutant-rspec', '~> 0.11'
43
+ end
44
+ # to parse and execute Rakefile
45
+ gem 'rake', '~> 13.1'
46
+ # tdd
47
+ gem 'rspec', '~> 3.13'
48
+ # # to test performances
49
+ # gem 'rspec-benchmark', '~> 0.6.0'
50
+ # code needs to be clean
51
+ gem 'rubocop', '~> 1.65'
52
+ # code needs to be clean
53
+ gem 'rubocop-performance', '~> 1.21'
54
+ # test code needs to be clean
55
+ gem 'rubocop-rspec', '~> 3.0'
56
+ # Rakefiles need to be clean
57
+ gem 'rubocop-rake', '~> 0.6'
58
+ if RUBY_VERSION >= '3.0'
59
+ # detect selling code
60
+ gem 'reek', '~> 6.3'
61
+ # my code needs to be critiqued
62
+ gem 'rubycritic', '~> 4'
63
+ end
64
+
65
+ # What is tdd without code coverage ?
66
+ gem 'simplecov', '~> 0.22', '< 0.23'
67
+ # # to document code
68
+ # gem 'yard', '~> 0.9.5'
69
+ end
70
+ # rubocop:enable Metrics/BlockLength
71
+
72
+ group :debugging do
73
+ # Sometimes, we need to debug
74
+ gem 'pry', '~> 0.14'
75
+ end
data/Guardfile ADDED
@@ -0,0 +1,44 @@
1
+ # Copyright (c) 2024 Jerome Arbez-Gindre
2
+ # frozen_string_literal: true
3
+
4
+ # notifications :emacs
5
+
6
+ guard :bundler do
7
+ require 'guard/bundler'
8
+ require 'guard/bundler/verify'
9
+ helper = Guard::Bundler::Verify.new
10
+
11
+ files = ['Gemfile']
12
+ files += Dir['*.gemspec'] if files.any? { |f| helper.uses_gemspec?(f) }
13
+
14
+ # Assume files are symlinked from somewhere
15
+ files.each { |file| watch(helper.real_path(file)) }
16
+ end
17
+
18
+ guard :rspec, cmd: 'bundle exec rspec --options config/rspec' do
19
+ require 'guard/rspec/dsl'
20
+ dsl = Guard::RSpec::Dsl.new(self)
21
+
22
+ # RSpec files
23
+ rspec = dsl.rspec
24
+ watch(rspec.spec_helper) { rspec.spec_dir }
25
+ watch(rspec.spec_support) { rspec.spec_dir }
26
+ watch(rspec.spec_files)
27
+
28
+ # Ruby files
29
+ ruby = dsl.ruby
30
+ dsl.watch_spec_files_for(ruby.lib_files)
31
+ end
32
+
33
+ guard :rubocop,
34
+ all_on_start: true,
35
+ cli: ['--display-cop-names', '--config=config/rubocop.yml'] do
36
+ watch(/.+\.rb$/)
37
+ watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m.first) }
38
+ end
39
+
40
+ guard :reek,
41
+ cli: ['--config config/reek.yml', '--single-line'] do
42
+ watch(/.+\.rb$/)
43
+ watch('config/reek.yml')
44
+ end
data/Rakefile CHANGED
@@ -1,67 +1,22 @@
1
- # Copyright (c) 2020 Jerome Arbez-Gindre
1
+ # Copyright (c) 2023 Jerome Arbez-Gindre
2
2
  # frozen_string_literal: true
3
3
 
4
- require('cucumber')
5
- require('cucumber/rake/task')
6
- require('rake/clean')
7
- require('rdoc/task')
8
- require('rubygems')
9
- require('rubygems/package_task')
10
-
11
- Rake::RDocTask.new do |rd|
12
- rd.main = 'README.rdoc'
13
- rd.rdoc_files.include('README.rdoc', 'lib/**/*.rb', 'bin/**/*')
14
- rd.title = 'Your application title'
15
- end
16
-
17
- spec = eval(File.read('defmastership.gemspec'))
18
-
19
- Gem::PackageTask.new(spec)
20
- CUKE_RESULTS = 'features_results.html'
21
- CLEAN << CUKE_RESULTS
22
-
23
- desc('Run features')
24
- Cucumber::Rake::Task.new(:features) do |t|
25
- opts = ['features'] +
26
- ['--format', 'html'] +
27
- ['-o', CUKE_RESULTS] +
28
- ['--format', 'progress'] +
29
- ['-x']
30
- opts += ['--tags', ENV.fetch('TAGS').split.join(' or ')] if ENV['TAGS']
31
- t.cucumber_opts = opts
32
- t.fork = false
33
- end
34
-
35
- desc('Run features tagged as work-in-progress (@wip)')
36
- Cucumber::Rake::Task.new('features:wip') do |t|
37
- t.cucumber_opts = ['features'] +
38
- ['--format', 'html'] +
39
- ['-o', CUKE_RESULTS] +
40
- ['--format', 'pretty'] +
41
- ['-x'] +
42
- ['-s'] +
43
- ['--tags', '@wip and not @pending']
44
- t.fork = false
45
- end
46
-
47
- desc('Test all features')
48
- task(cucumber: :features)
49
-
50
- desc('Test only WIP features')
51
- task(wip: 'features:wip')
52
-
53
4
  require('bundler/gem_tasks')
5
+ require('rake/clean')
54
6
 
55
- require('rspec/core/rake_task')
56
-
57
- RSpec::Core::RakeTask.new(:spec)
58
-
59
- require('rubocop/rake_task')
60
-
61
- RuboCop::RakeTask.new do |task|
62
- task.requires << 'rubocop-performance'
63
- task.requires << 'rubocop-rspec'
64
- task.requires << 'rubocop-rake'
7
+ Dir['tasks/**/*.rake'].each { |t| load t }
8
+
9
+ desc 'Continous integration tasks'
10
+ task :ci do
11
+ [
12
+ 'test:spec',
13
+ 'test:features',
14
+ :rubocop
15
+ ].each do |name|
16
+ puts "\n=== Running #{name}...\n"
17
+ Rake::Task[name].invoke
18
+ puts "\n=== Running #{name} -> Done\n"
19
+ end
65
20
  end
66
21
 
67
- task(default: %i[rubocop spec features])
22
+ task default: :ci
data/bin/defmastership CHANGED
@@ -55,9 +55,9 @@ module DefMastership
55
55
 
56
56
  c.action do |_global_options, options, args|
57
57
  my_doc = DefMastership::Document.new
58
- my_doc.parse_file_with_preprocessor(args[0])
58
+ my_doc.parse_file_with_preprocessor(args.first)
59
59
 
60
- output_file = args[0].sub(/\.adoc$/, '.csv')
60
+ output_file = args.first.sub(/\.adoc$/, '.csv')
61
61
 
62
62
  DefMastership::CSVFormatter.new(my_doc, options['separator']).export_to(output_file)
63
63
 
@@ -65,7 +65,10 @@ module DefMastership
65
65
  my_doc.definitions.each do |definition|
66
66
  next if definition.wrong_explicit_checksum.nil?
67
67
 
68
- warn("warning: #{definition.reference} has a wrong explicit checksum (should be #{definition.sha256})")
68
+ warn(
69
+ "warning: #{definition.reference} has a wrong explicit " \
70
+ "checksum (should be #{definition.sha256_short})"
71
+ )
69
72
  end
70
73
  exit 1 unless options[:'no-fail']
71
74
  end
@@ -90,10 +93,10 @@ module DefMastership
90
93
  args.to_h { |afile| [afile, File.read(afile)] }
91
94
  )
92
95
 
93
- changer.apply(options[:modifications])
96
+ changer.apply(options[:modifications].split(/\s*,\s*/).map(&:to_sym))
94
97
 
95
- changer.adoc_texts.each do |adoc_file, adoc_text|
96
- File.write(adoc_file, adoc_text)
98
+ changer.adoc_sources.each do |adoc_filename, adoc_text|
99
+ File.write(adoc_filename, adoc_text)
97
100
  end
98
101
 
99
102
  File.write(options[:'modifications-file'], changer.config.to_yaml)
@@ -0,0 +1,3 @@
1
+ ---
2
+ default: features --publish-quiet --format html -o features_results.html --format progress -x
3
+ wip: features --publish-quiet --format pretty -x -s --tags '@wip and not @pending'
data/config/mutant.yml CHANGED
@@ -1,6 +1,30 @@
1
1
  ---
2
+ usage: opensource
2
3
  includes:
3
- - lib
4
- integration: rspec
4
+ - lib
5
+ integration:
6
+ name: rspec
7
+ arguments:
8
+ - --options=config/rspec
9
+ - spec
5
10
  requires:
6
- - devtools
11
+ - defmastership
12
+ matcher:
13
+ subjects:
14
+ - 'DefMastership*'
15
+ # ignore:
16
+ # - 'DefMastership::BatchModifier*'
17
+ # - 'DefMastership::CSVFormatter*'
18
+ # - 'DefMastership::CSVFormatterBody*'
19
+ # - 'DefMastership::CSVFormatterHeader*'
20
+ # - 'DefMastership::ChangeRefModifier*'
21
+ # - 'DefMastership::Definition*'
22
+ # - 'DefMastership::Document*'
23
+ # - 'DefMastership::Modifier*'
24
+ # - 'DefMastership::ModifierFactory*'
25
+ # - 'DefMastership::ParsingState*'
26
+ # - 'DefMastership::RenameIncludedFilesModifier*'
27
+ # - 'DefMastership::UpdateDefChecksumModifier*'
28
+ # - 'DefMastership::UpdateDefModifier*'
29
+ # - 'DefMastership::UpdateDefVersionModifier*'
30
+ # fail_fast: true
data/config/reek.yml CHANGED
@@ -1,106 +1,130 @@
1
1
  ---
2
- detectors:
3
- Attribute:
4
- enabled: false
5
- exclude: []
6
- BooleanParameter:
7
- enabled: true
8
- exclude: []
9
- ClassVariable:
10
- enabled: true
11
- exclude: []
12
- ControlParameter:
13
- enabled: true
14
- exclude: []
15
- DataClump:
16
- enabled: true
17
- exclude: []
18
- max_copies: 0
19
- min_clump_size: 2
20
- DuplicateMethodCall:
21
- enabled: true
22
- exclude: []
23
- max_calls: 1
24
- allow_calls: []
25
- FeatureEnvy:
26
- enabled: true
27
- exclude: []
28
- IrresponsibleModule:
29
- enabled: true
30
- exclude: []
31
- LongParameterList:
32
- enabled: true
33
- exclude:
34
- - Devtools::Config#self.attribute
35
- max_params: 2
36
- overrides: {}
37
- LongYieldList:
38
- enabled: true
39
- exclude: []
40
- max_params: 0
41
- NestedIterators:
42
- enabled: true
43
- exclude: []
44
- max_allowed_nesting: 1
45
- ignore_iterators: []
46
- NilCheck:
47
- enabled: true
48
- exclude: []
49
- RepeatedConditional:
50
- enabled: true
51
- exclude: []
52
- max_ifs: 1
53
- TooManyConstants:
54
- enabled: true
55
- exclude:
56
- - Devtools
57
- TooManyInstanceVariables:
58
- enabled: true
59
- exclude: []
60
- max_instance_variables: 2
61
- TooManyMethods:
62
- enabled: true
63
- exclude: []
64
- max_methods: 15
65
- TooManyStatements:
66
- enabled: true
67
- exclude: []
68
- max_statements: 5
69
- UncommunicativeMethodName:
70
- enabled: true
71
- exclude: []
72
- reject:
73
- - '/^[a-z]$/'
74
- - '/[0-9]$/'
75
- - '/[A-Z]/'
76
- accept: []
77
- UncommunicativeModuleName:
78
- enabled: true
79
- exclude: []
80
- reject:
81
- - '/^.$/'
82
- - '/[0-9]$/'
83
- accept: []
84
- UncommunicativeParameterName:
85
- enabled: true
86
- exclude: []
87
- reject:
88
- - '/^.$/'
89
- - '/[0-9]$/'
90
- - '/[A-Z]/'
91
- accept: []
92
- UncommunicativeVariableName:
93
- enabled: true
94
- exclude: []
95
- reject:
96
- - '/^.$/'
97
- - '/[0-9]$/'
98
- - '/[A-Z]/'
99
- accept: []
100
- UnusedParameters:
101
- enabled: true
102
- exclude: []
103
- UtilityFunction:
104
- enabled: true
105
- exclude:
106
- - Devtools::Project::Initializer::Rspec#require_files # intentional for deduplication
2
+ # detectors:
3
+ # Attribute:
4
+ # enabled: true
5
+ # exclude: []
6
+ # BooleanParameter:
7
+ # enabled: true
8
+ # exclude: []
9
+ # ClassVariable:
10
+ # enabled: true
11
+ # exclude: []
12
+ # ControlParameter:
13
+ # enabled: true
14
+ # exclude: []
15
+ # DataClump:
16
+ # enabled: true
17
+ # exclude: []
18
+ # max_copies: 2
19
+ # min_clump_size: 2
20
+ # DuplicateMethodCall:
21
+ # enabled: true
22
+ # exclude: []
23
+ # max_calls: 1
24
+ # allow_calls: []
25
+ # FeatureEnvy:
26
+ # enabled: true
27
+ # exclude: []
28
+ # InstanceVariableAssumption:
29
+ # enabled: true
30
+ # exclude: []
31
+ # IrresponsibleModule:
32
+ # enabled: true
33
+ # exclude: []
34
+ # LongParameterList:
35
+ # enabled: true
36
+ # exclude: []
37
+ # max_params: 3
38
+ # overrides:
39
+ # initialize:
40
+ # max_params: 5
41
+ # LongYieldList:
42
+ # enabled: true
43
+ # exclude: []
44
+ # max_params: 3
45
+ # ManualDispatch:
46
+ # enabled: true
47
+ # exclude: []
48
+ # MissingSafeMethod:
49
+ # enabled: true
50
+ # exclude: []
51
+ # ModuleInitialize:
52
+ # enabled: true
53
+ # exclude: []
54
+ # NestedIterators:
55
+ # enabled: true
56
+ # exclude: []
57
+ # max_allowed_nesting: 1
58
+ # ignore_iterators:
59
+ # - tap
60
+ # - Tempfile.create
61
+ # NilCheck:
62
+ # enabled: true
63
+ # exclude: []
64
+ # RepeatedConditional:
65
+ # enabled: true
66
+ # exclude: []
67
+ # max_ifs: 2
68
+ # SubclassedFromCoreClass:
69
+ # enabled: true
70
+ # exclude: []
71
+ # TooManyConstants:
72
+ # enabled: true
73
+ # exclude: []
74
+ # max_constants: 5
75
+ # TooManyInstanceVariables:
76
+ # enabled: true
77
+ # exclude: []
78
+ # max_instance_variables: 4
79
+ # TooManyMethods:
80
+ # enabled: true
81
+ # exclude: []
82
+ # max_methods: 15
83
+ # TooManyStatements:
84
+ # enabled: true
85
+ # exclude:
86
+ # - initialize
87
+ # max_statements: 5
88
+ # UncommunicativeMethodName:
89
+ # enabled: true
90
+ # exclude: []
91
+ # reject:
92
+ # - "/^[a-z]$/"
93
+ # - "/[0-9]$/"
94
+ # - "/[A-Z]/"
95
+ # accept: []
96
+ # UncommunicativeModuleName:
97
+ # enabled: true
98
+ # exclude: []
99
+ # reject:
100
+ # - "/^.$/"
101
+ # - "/[0-9]$/"
102
+ # accept: []
103
+ # UncommunicativeParameterName:
104
+ # enabled: true
105
+ # exclude: []
106
+ # reject:
107
+ # - "/^.$/"
108
+ # - "/[0-9]$/"
109
+ # - "/[A-Z]/"
110
+ # - "/^_/"
111
+ # accept: []
112
+ # UncommunicativeVariableName:
113
+ # enabled: true
114
+ # exclude: []
115
+ # reject:
116
+ # - "/^.$/"
117
+ # - "/[0-9]$/"
118
+ # - "/[A-Z]/"
119
+ # accept:
120
+ # - "/^_$/"
121
+ # UnusedParameters:
122
+ # enabled: true
123
+ # exclude: []
124
+ # UnusedPrivateMethod:
125
+ # enabled: false
126
+ # exclude: []
127
+ # UtilityFunction:
128
+ # enabled: true
129
+ # exclude: []
130
+ # public_methods_only: false