longleaf 0.2.0.pre.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +84 -0
  3. data/.gitignore +4 -2
  4. data/.rubocop.yml +42 -2
  5. data/.rubocop_todo.yml +390 -311
  6. data/.yardopts +1 -0
  7. data/Gemfile +16 -1
  8. data/README.md +67 -13
  9. data/Rakefile +6 -0
  10. data/bin/setup +16 -1
  11. data/docs/aboutlongleaf.md +28 -0
  12. data/docs/extra.css +32 -0
  13. data/docs/img/change-file.png +0 -0
  14. data/docs/img/ll-example-preserved.png +0 -0
  15. data/docs/index.md +19 -0
  16. data/docs/install.md +66 -0
  17. data/docs/ll-example/config-example-relative.yml +33 -0
  18. data/docs/ll-example/files-dir/LLexample-PDF.pdf +0 -0
  19. data/docs/ll-example/files-dir/LLexample-TOCHANGE.txt +15 -0
  20. data/docs/ll-example/files-dir/LLexample-tokeep.txt +10 -0
  21. data/docs/ll-example/metadata-dir/.gitkeep +0 -0
  22. data/docs/ll-example/replica-files/.gitkeep +0 -0
  23. data/docs/ll-example/replica-metadata/.gitkeep +0 -0
  24. data/docs/quickstart.md +270 -0
  25. data/docs/rdocs/Longleaf.html +135 -0
  26. data/docs/rdocs/Longleaf/AppFields.html +178 -0
  27. data/docs/rdocs/Longleaf/ApplicationConfigDeserializer.html +631 -0
  28. data/docs/rdocs/Longleaf/ApplicationConfigManager.html +610 -0
  29. data/docs/rdocs/Longleaf/ApplicationConfigValidator.html +238 -0
  30. data/docs/rdocs/Longleaf/CLI.html +909 -0
  31. data/docs/rdocs/Longleaf/ChecksumMismatchError.html +151 -0
  32. data/docs/rdocs/Longleaf/ConfigBuilder.html +1339 -0
  33. data/docs/rdocs/Longleaf/ConfigurationError.html +143 -0
  34. data/docs/rdocs/Longleaf/ConfigurationValidator.html +227 -0
  35. data/docs/rdocs/Longleaf/DeregisterCommand.html +420 -0
  36. data/docs/rdocs/Longleaf/DeregisterEvent.html +453 -0
  37. data/docs/rdocs/Longleaf/DeregistrationError.html +151 -0
  38. data/docs/rdocs/Longleaf/DigestHelper.html +419 -0
  39. data/docs/rdocs/Longleaf/EventError.html +147 -0
  40. data/docs/rdocs/Longleaf/EventNames.html +163 -0
  41. data/docs/rdocs/Longleaf/EventStatusTracking.html +656 -0
  42. data/docs/rdocs/Longleaf/FileCheckService.html +540 -0
  43. data/docs/rdocs/Longleaf/FileHelpers.html +520 -0
  44. data/docs/rdocs/Longleaf/FileRecord.html +716 -0
  45. data/docs/rdocs/Longleaf/FileSelector.html +901 -0
  46. data/docs/rdocs/Longleaf/FixityCheckService.html +691 -0
  47. data/docs/rdocs/Longleaf/IndexManager.html +1155 -0
  48. data/docs/rdocs/Longleaf/InvalidDigestAlgorithmError.html +143 -0
  49. data/docs/rdocs/Longleaf/InvalidStoragePathError.html +143 -0
  50. data/docs/rdocs/Longleaf/Logging.html +405 -0
  51. data/docs/rdocs/Longleaf/Logging/RedirectingLogger.html +1213 -0
  52. data/docs/rdocs/Longleaf/LongleafError.html +139 -0
  53. data/docs/rdocs/Longleaf/MDFields.html +193 -0
  54. data/docs/rdocs/Longleaf/MetadataBuilder.html +787 -0
  55. data/docs/rdocs/Longleaf/MetadataDeserializer.html +537 -0
  56. data/docs/rdocs/Longleaf/MetadataError.html +143 -0
  57. data/docs/rdocs/Longleaf/MetadataPersistenceManager.html +539 -0
  58. data/docs/rdocs/Longleaf/MetadataRecord.html +1411 -0
  59. data/docs/rdocs/Longleaf/MetadataSerializer.html +786 -0
  60. data/docs/rdocs/Longleaf/PreservationServiceError.html +147 -0
  61. data/docs/rdocs/Longleaf/PreserveCommand.html +410 -0
  62. data/docs/rdocs/Longleaf/PreserveEvent.html +491 -0
  63. data/docs/rdocs/Longleaf/RegisterCommand.html +428 -0
  64. data/docs/rdocs/Longleaf/RegisterEvent.html +628 -0
  65. data/docs/rdocs/Longleaf/RegisteredFileSelector.html +446 -0
  66. data/docs/rdocs/Longleaf/RegistrationError.html +151 -0
  67. data/docs/rdocs/Longleaf/ReindexCommand.html +576 -0
  68. data/docs/rdocs/Longleaf/RsyncReplicationService.html +1180 -0
  69. data/docs/rdocs/Longleaf/SequelIndexDriver.html +1978 -0
  70. data/docs/rdocs/Longleaf/ServiceCandidateFilesystemIterator.html +572 -0
  71. data/docs/rdocs/Longleaf/ServiceCandidateIndexIterator.html +532 -0
  72. data/docs/rdocs/Longleaf/ServiceCandidateLocator.html +333 -0
  73. data/docs/rdocs/Longleaf/ServiceClassCache.html +725 -0
  74. data/docs/rdocs/Longleaf/ServiceDateHelper.html +425 -0
  75. data/docs/rdocs/Longleaf/ServiceDefinition.html +683 -0
  76. data/docs/rdocs/Longleaf/ServiceDefinitionManager.html +371 -0
  77. data/docs/rdocs/Longleaf/ServiceDefinitionValidator.html +269 -0
  78. data/docs/rdocs/Longleaf/ServiceFields.html +173 -0
  79. data/docs/rdocs/Longleaf/ServiceManager.html +1229 -0
  80. data/docs/rdocs/Longleaf/ServiceMappingManager.html +410 -0
  81. data/docs/rdocs/Longleaf/ServiceMappingValidator.html +347 -0
  82. data/docs/rdocs/Longleaf/ServiceRecord.html +821 -0
  83. data/docs/rdocs/Longleaf/StorageLocation.html +985 -0
  84. data/docs/rdocs/Longleaf/StorageLocationManager.html +729 -0
  85. data/docs/rdocs/Longleaf/StorageLocationUnavailableError.html +143 -0
  86. data/docs/rdocs/Longleaf/StorageLocationValidator.html +373 -0
  87. data/docs/rdocs/Longleaf/StoragePathValidator.html +253 -0
  88. data/docs/rdocs/Longleaf/SystemConfigBuilder.html +441 -0
  89. data/docs/rdocs/Longleaf/SystemConfigFields.html +163 -0
  90. data/docs/rdocs/Longleaf/ValidateConfigCommand.html +451 -0
  91. data/docs/rdocs/Longleaf/ValidateMetadataCommand.html +408 -0
  92. data/docs/rdocs/_index.html +660 -0
  93. data/docs/rdocs/class_list.html +51 -0
  94. data/docs/rdocs/css/common.css +1 -0
  95. data/docs/rdocs/css/full_list.css +58 -0
  96. data/docs/rdocs/css/style.css +496 -0
  97. data/docs/rdocs/file.README.html +165 -0
  98. data/docs/rdocs/file_list.html +56 -0
  99. data/docs/rdocs/frames.html +17 -0
  100. data/docs/rdocs/index.html +165 -0
  101. data/docs/rdocs/js/app.js +303 -0
  102. data/docs/rdocs/js/full_list.js +216 -0
  103. data/docs/rdocs/js/jquery.js +4 -0
  104. data/docs/rdocs/method_list.html +2051 -0
  105. data/docs/rdocs/top-level-namespace.html +110 -0
  106. data/lib/longleaf/candidates/file_selector.rb +47 -15
  107. data/lib/longleaf/candidates/registered_file_selector.rb +67 -0
  108. data/lib/longleaf/candidates/service_candidate_filesystem_iterator.rb +29 -35
  109. data/lib/longleaf/candidates/service_candidate_index_iterator.rb +84 -0
  110. data/lib/longleaf/candidates/service_candidate_locator.rb +9 -4
  111. data/lib/longleaf/cli.rb +162 -80
  112. data/lib/longleaf/commands/deregister_command.rb +12 -11
  113. data/lib/longleaf/commands/preserve_command.rb +13 -8
  114. data/lib/longleaf/commands/register_command.rb +9 -6
  115. data/lib/longleaf/commands/reindex_command.rb +92 -0
  116. data/lib/longleaf/commands/validate_config_command.rb +27 -6
  117. data/lib/longleaf/commands/validate_metadata_command.rb +11 -9
  118. data/lib/longleaf/errors.rb +12 -12
  119. data/lib/longleaf/events/deregister_event.rb +13 -15
  120. data/lib/longleaf/events/event_status_tracking.rb +7 -7
  121. data/lib/longleaf/events/preserve_event.rb +24 -14
  122. data/lib/longleaf/events/register_event.rb +21 -35
  123. data/lib/longleaf/helpers/digest_helper.rb +4 -4
  124. data/lib/longleaf/helpers/service_date_helper.rb +5 -6
  125. data/lib/longleaf/indexing/index_manager.rb +101 -0
  126. data/lib/longleaf/indexing/sequel_index_driver.rb +324 -0
  127. data/lib/longleaf/logging.rb +4 -4
  128. data/lib/longleaf/logging/redirecting_logger.rb +20 -20
  129. data/lib/longleaf/models/app_fields.rb +2 -1
  130. data/lib/longleaf/models/file_record.rb +10 -6
  131. data/lib/longleaf/models/md_fields.rb +1 -1
  132. data/lib/longleaf/models/metadata_record.rb +22 -12
  133. data/lib/longleaf/models/service_definition.rb +3 -3
  134. data/lib/longleaf/models/service_fields.rb +1 -1
  135. data/lib/longleaf/models/service_record.rb +6 -5
  136. data/lib/longleaf/models/storage_location.rb +26 -7
  137. data/lib/longleaf/models/system_config_fields.rb +9 -0
  138. data/lib/longleaf/preservation_services/file_check_service.rb +58 -0
  139. data/lib/longleaf/preservation_services/fixity_check_service.rb +16 -14
  140. data/lib/longleaf/preservation_services/rsync_replication_service.rb +32 -31
  141. data/lib/longleaf/services/application_config_deserializer.rb +55 -18
  142. data/lib/longleaf/services/application_config_manager.rb +16 -4
  143. data/lib/longleaf/services/application_config_validator.rb +1 -2
  144. data/lib/longleaf/services/configuration_validator.rb +6 -4
  145. data/lib/longleaf/services/metadata_deserializer.rb +40 -38
  146. data/lib/longleaf/services/metadata_persistence_manager.rb +46 -0
  147. data/lib/longleaf/services/metadata_serializer.rb +23 -22
  148. data/lib/longleaf/services/service_class_cache.rb +15 -15
  149. data/lib/longleaf/services/service_definition_manager.rb +5 -6
  150. data/lib/longleaf/services/service_definition_validator.rb +5 -6
  151. data/lib/longleaf/services/service_manager.rb +37 -17
  152. data/lib/longleaf/services/service_mapping_manager.rb +9 -9
  153. data/lib/longleaf/services/service_mapping_validator.rb +9 -10
  154. data/lib/longleaf/services/storage_location_manager.rb +22 -8
  155. data/lib/longleaf/services/storage_location_validator.rb +11 -8
  156. data/lib/longleaf/services/storage_path_validator.rb +1 -1
  157. data/lib/longleaf/specs/config_builder.rb +30 -17
  158. data/lib/longleaf/specs/custom_matchers.rb +1 -1
  159. data/lib/longleaf/specs/file_helpers.rb +15 -14
  160. data/lib/longleaf/specs/metadata_builder.rb +91 -0
  161. data/lib/longleaf/specs/system_config_builder.rb +27 -0
  162. data/lib/longleaf/version.rb +1 -1
  163. data/longleaf.gemspec +17 -7
  164. data/mkdocs.yml +20 -0
  165. metadata +233 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78716539eb254c041e4b5e4d402f5a3ae0b6d10c7d224c7d8db263b584cf4f1c
4
- data.tar.gz: e46a9921b40eb7dc3d2e754f16b6711561716abc459f7ad546f4284caed2bf2d
3
+ metadata.gz: c9420b7edb662a7e6cd5b09d7d1b60aabc135ffcfd517ecdea0eb9237c366887
4
+ data.tar.gz: 3f91cb150afab07a1943d8a2d29f58e87e6bf74b583746cbbe1a229241ac7e1c
5
5
  SHA512:
6
- metadata.gz: 169fd959f7470ff4da6d0ffb2ea68ab797da6932f399d948ed78acbc7e9299f5ec93d1aba85f309b8162b80923a512a2c4141222750473d4e225b87554acea69
7
- data.tar.gz: 2bfb0b13a223dfe35982b7c40c303cc644c2e7c83267baf3022d44da95bbef099931f500e8d55a617ad52f75de8a64632005d8362b8ae97f5a9335d05c1da4b9
6
+ metadata.gz: 43b0469d63ad3390b06e7721d05c539b9415ab447b3e7b9c89b4d9b380bbf062c2c4a5c8ca990c8084914443de11e0ffab3edd4e9c6a4176252c4327bcb02d9b
7
+ data.tar.gz: 80f3b78cd45ccc1914a16fc2e049e667aebf584f8551870f3a7a843f303521e566cc29a660cb42a07d3e2b0884f5531a36e199b8fafe0e53f7300a959d44f310
@@ -0,0 +1,84 @@
1
+ # Ruby CircleCI 2.0 configuration file
2
+ #
3
+ # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
+ #
5
+ version: 2.1
6
+
7
+ commands:
8
+ build_and_run_tests:
9
+ steps:
10
+ - checkout
11
+
12
+ # Download and cache dependencies
13
+ - restore_cache:
14
+ keys:
15
+ - v1-dependencies-{{ checksum "longleaf.gemspec" }}
16
+ # fallback to using the latest cache if no exact match is found
17
+ - v1-dependencies-
18
+
19
+ - run:
20
+ name: install dependencies
21
+ command: |
22
+ bin/setup
23
+
24
+ - run:
25
+ name: install rsync
26
+ command: sudo apt install -y rsync
27
+
28
+ - save_cache:
29
+ paths:
30
+ - ./.bundle
31
+ key: v1-dependencies-{{ checksum "longleaf.gemspec" }}
32
+
33
+ - run:
34
+ name: run tests
35
+ command: |
36
+ mkdir /tmp/test-results
37
+ TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb")"
38
+
39
+ bundle exec rspec \
40
+ --format progress \
41
+ --format RspecJunitFormatter \
42
+ --out /tmp/test-results/rspec.xml \
43
+ --format progress \
44
+ $TEST_FILES
45
+
46
+ # collect reports
47
+ - store_test_results:
48
+ path: /tmp/test-results
49
+
50
+ - store_artifacts:
51
+ path: /tmp/test-results
52
+ destination: test-results
53
+
54
+ - store_artifacts:
55
+ path: coverage
56
+
57
+ jobs:
58
+ test_with_ruby_23:
59
+ docker:
60
+ - image: circleci/ruby:2.3
61
+ environment:
62
+ BUNDLER_VERSION: 1.17.3
63
+
64
+ working_directory: ~/repo
65
+
66
+ steps:
67
+ - build_and_run_tests
68
+
69
+ test_with_ruby_latest:
70
+ docker:
71
+ - image: circleci/ruby:latest
72
+ environment:
73
+ BUNDLER_VERSION: 1.17.3
74
+
75
+ working_directory: ~/repo
76
+
77
+ steps:
78
+ - build_and_run_tests
79
+ workflows:
80
+ version: 2.2
81
+ notify_deploy:
82
+ jobs:
83
+ - test_with_ruby_23
84
+ - test_with_ruby_latest
data/.gitignore CHANGED
@@ -3,8 +3,10 @@
3
3
  /Gemfile.lock
4
4
  /_yardoc/
5
5
  /coverage/
6
- /doc/
7
6
  /pkg/
8
7
  /spec/reports/
9
8
  /tmp/
10
- .idea
9
+ .idea
10
+ coverage
11
+ # ignore site folder created by mkdocs
12
+ site/
data/.rubocop.yml CHANGED
@@ -1,4 +1,44 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
- inherit_gem:
4
- bixby: bixby_default.yml
3
+ require:
4
+ - rubocop-rspec
5
+ - rubocop-performance
6
+ - rubocop-sequel
7
+
8
+ AllCops:
9
+ DisplayCopNames: true
10
+ TargetRubyVersion: 2.3
11
+ Exclude:
12
+ - "longleaf.gemspec"
13
+
14
+ Layout/IndentationConsistency:
15
+ EnforcedStyle: normal
16
+
17
+ Metrics/BlockLength:
18
+ Exclude:
19
+ - "spec/**/*"
20
+
21
+ Metrics/LineLength:
22
+ Max: 200
23
+ Exclude:
24
+ - 'spec/**/*'
25
+
26
+ Naming/HeredocDelimiterNaming:
27
+ Enabled: false
28
+
29
+ Naming/PredicateName:
30
+ NamePrefixBlacklist:
31
+ - is_
32
+
33
+ Rails:
34
+ Enabled: false
35
+
36
+ Rails/OutputSafety:
37
+ Enabled: false
38
+
39
+ # https://github.com/rubocop-hq/rubocop/issues/6439
40
+ Style/AccessModifierDeclarations:
41
+ Enabled: false
42
+
43
+ Style/StringLiterals:
44
+ Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -1,232 +1,150 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2019-02-14 11:35:09 -0500 using RuboCop version 0.63.1.
3
+ # on 2019-05-30 14:23:53 -0400 using RuboCop version 0.70.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ # Offense count: 108
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
12
+ # SupportedStyles: with_first_argument, with_fixed_indentation
13
+ Layout/AlignArguments:
14
+ Enabled: false
15
+
9
16
  # Offense count: 1
10
17
  # Cop supports --auto-correct.
11
18
  Layout/AlignArray:
12
19
  Exclude:
13
20
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
14
21
 
15
- # Offense count: 41
22
+ # Offense count: 60
16
23
  # Cop supports --auto-correct.
17
- # Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
24
+ # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
18
25
  # SupportedHashRocketStyles: key, separator, table
19
26
  # SupportedColonStyles: key, separator, table
20
27
  # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
21
28
  Layout/AlignHash:
22
- Exclude:
23
- - 'lib/longleaf/cli.rb'
24
- - 'lib/longleaf/commands/register_command.rb'
25
- - 'lib/longleaf/logging.rb'
26
- - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
27
- - 'lib/longleaf/services/metadata_deserializer.rb'
28
- - 'lib/longleaf/specs/file_helpers.rb'
29
- - 'spec/longleaf/events/deregister_event_spec.rb'
30
- - 'spec/longleaf/events/preserve_event_spec.rb'
31
- - 'spec/longleaf/events/register_event_spec.rb'
32
- - 'spec/longleaf/services/metadata_serializer_spec.rb'
33
- - 'spec/longleaf/services/service_definition_manager_spec.rb'
29
+ Enabled: false
34
30
 
35
- # Offense count: 111
31
+ # Offense count: 3
36
32
  # Cop supports --auto-correct.
37
33
  # Configuration parameters: EnforcedStyle, IndentationWidth.
38
34
  # SupportedStyles: with_first_parameter, with_fixed_indentation
39
35
  Layout/AlignParameters:
40
- Enabled: false
41
-
42
- # Offense count: 192
43
- # Cop supports --auto-correct.
44
- Layout/BlockEndNewline:
45
- Enabled: false
36
+ Exclude:
37
+ - 'lib/longleaf/models/metadata_record.rb'
38
+ - 'lib/longleaf/specs/config_builder.rb'
39
+ - 'lib/longleaf/specs/metadata_builder.rb'
46
40
 
47
- # Offense count: 1
41
+ # Offense count: 2
48
42
  # Cop supports --auto-correct.
49
43
  Layout/ClosingParenthesisIndentation:
50
44
  Exclude:
51
- - 'spec/longleaf/events/deregister_event_spec.rb'
45
+ - 'spec/longleaf/services/metadata_persistence_manager_spec.rb'
52
46
 
53
47
  # Offense count: 13
54
48
  # Cop supports --auto-correct.
55
- Layout/EmptyLinesAroundAccessModifier:
49
+ Layout/EmptyLineAfterGuardClause:
56
50
  Exclude:
57
51
  - 'lib/longleaf/candidates/file_selector.rb'
58
- - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
59
- - 'lib/longleaf/events/register_event.rb'
60
- - 'lib/longleaf/logging/redirecting_logger.rb'
61
- - 'lib/longleaf/preservation_services/fixity_check_service.rb'
52
+ - 'lib/longleaf/helpers/digest_helper.rb'
53
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
54
+ - 'lib/longleaf/models/file_record.rb'
62
55
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
63
- - 'lib/longleaf/services/application_config_deserializer.rb'
64
- - 'lib/longleaf/services/configuration_validator.rb'
65
- - 'lib/longleaf/services/service_class_cache.rb'
56
+ - 'lib/longleaf/services/service_manager.rb'
66
57
  - 'lib/longleaf/services/service_mapping_validator.rb'
67
- - 'lib/longleaf/services/storage_location_validator.rb'
68
- - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
69
- - 'spec/longleaf/preservation_services/rsync_replication_service_spec.rb'
58
+ - 'lib/longleaf/services/storage_location_manager.rb'
59
+ - 'lib/longleaf/specs/custom_matchers.rb'
60
+ - 'spec/features/deregister_command_spec.rb'
70
61
 
71
- # Offense count: 2
62
+ # Offense count: 16
72
63
  # Cop supports --auto-correct.
73
64
  # Configuration parameters: EnforcedStyle.
74
- # SupportedStyles: empty_lines, no_empty_lines
75
- Layout/EmptyLinesAroundBlockBody:
76
- Exclude:
77
- - 'spec/longleaf/models/service_definition_spec.rb'
78
- - 'spec/longleaf/models/storage_location_spec.rb'
79
-
80
- # Offense count: 3
81
- # Cop supports --auto-correct.
82
- # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
83
- Layout/ExtraSpacing:
84
- Exclude:
85
- - 'spec/longleaf/models/metadata_record_spec.rb'
65
+ # SupportedStyles: around, only_before
66
+ Layout/EmptyLinesAroundAccessModifier:
67
+ Enabled: false
86
68
 
87
- # Offense count: 28
69
+ # Offense count: 23
88
70
  # Cop supports --auto-correct.
89
71
  # Configuration parameters: EnforcedStyle, IndentationWidth.
90
72
  # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
91
- Layout/FirstParameterIndentation:
73
+ Layout/IndentFirstArgument:
92
74
  Exclude:
93
75
  - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
76
+ - 'lib/longleaf/cli.rb'
77
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
94
78
  - 'lib/longleaf/services/application_config_deserializer.rb'
95
79
  - 'lib/longleaf/services/application_config_manager.rb'
96
- - 'lib/longleaf/services/metadata_deserializer.rb'
97
80
  - 'lib/longleaf/services/service_definition_manager.rb'
98
81
  - 'lib/longleaf/services/storage_location_validator.rb'
82
+ - 'lib/longleaf/specs/metadata_builder.rb'
99
83
  - 'spec/features/deregister_command_spec.rb'
100
84
  - 'spec/features/register_command_spec.rb'
101
85
  - 'spec/features/validate_application_config_spec.rb'
102
- - 'spec/longleaf/candidates/file_selector_spec.rb'
103
86
  - 'spec/longleaf/logging/redirecting_logger_spec.rb'
104
- - 'spec/longleaf/services/metadata_serializer_spec.rb'
105
87
 
106
- # Offense count: 10
88
+ # Offense count: 19
107
89
  # Cop supports --auto-correct.
108
90
  # Configuration parameters: EnforcedStyle, IndentationWidth.
109
91
  # SupportedStyles: special_inside_parentheses, consistent, align_braces
110
- Layout/IndentHash:
92
+ Layout/IndentFirstHashElement:
111
93
  Exclude:
94
+ - 'lib/longleaf/cli.rb'
95
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
112
96
  - 'spec/longleaf/candidates/service_candidate_filesystem_iterator_spec.rb'
113
97
  - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
114
98
  - 'spec/longleaf/preservation_services/rsync_replication_service_spec.rb'
115
99
 
116
- # Offense count: 1
117
- # Cop supports --auto-correct.
118
- # Configuration parameters: EnforcedStyle.
119
- # SupportedStyles: normal, rails
120
- Layout/IndentationConsistency:
121
- Exclude:
122
- - 'spec/longleaf/services/application_config_deserializer_spec.rb'
123
-
124
- # Offense count: 13
125
- # Cop supports --auto-correct.
126
- # Configuration parameters: Width, IgnoredPatterns.
127
- Layout/IndentationWidth:
128
- Exclude:
129
- - 'lib/longleaf/candidates/file_selector.rb'
130
- - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
131
- - 'lib/longleaf/events/register_event.rb'
132
- - 'lib/longleaf/logging/redirecting_logger.rb'
133
- - 'lib/longleaf/preservation_services/fixity_check_service.rb'
134
- - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
135
- - 'lib/longleaf/services/application_config_deserializer.rb'
136
- - 'lib/longleaf/services/configuration_validator.rb'
137
- - 'lib/longleaf/services/service_class_cache.rb'
138
- - 'lib/longleaf/services/service_mapping_validator.rb'
139
- - 'lib/longleaf/services/storage_location_validator.rb'
140
- - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
141
- - 'spec/longleaf/preservation_services/rsync_replication_service_spec.rb'
142
-
143
- # Offense count: 192
144
- # Cop supports --auto-correct.
145
- Layout/MultilineBlockLayout:
146
- Enabled: false
147
-
148
- # Offense count: 2
100
+ # Offense count: 11
149
101
  # Cop supports --auto-correct.
150
102
  # Configuration parameters: EnforcedStyle.
151
103
  # SupportedStyles: symmetrical, new_line, same_line
152
104
  Layout/MultilineHashBraceLayout:
153
105
  Exclude:
106
+ - 'lib/longleaf/cli.rb'
107
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
154
108
  - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
155
109
  - 'spec/longleaf/preservation_services/rsync_replication_service_spec.rb'
156
110
 
157
- # Offense count: 31
111
+ # Offense count: 47
158
112
  # Cop supports --auto-correct.
159
113
  # Configuration parameters: EnforcedStyle.
160
114
  # SupportedStyles: symmetrical, new_line, same_line
161
115
  Layout/MultilineMethodCallBraceLayout:
162
- Exclude:
163
- - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
164
- - 'lib/longleaf/services/application_config_deserializer.rb'
165
- - 'lib/longleaf/services/application_config_manager.rb'
166
- - 'lib/longleaf/services/metadata_deserializer.rb'
167
- - 'lib/longleaf/services/service_definition_manager.rb'
168
- - 'lib/longleaf/services/storage_location_validator.rb'
169
- - 'spec/features/deregister_command_spec.rb'
170
- - 'spec/features/register_command_spec.rb'
171
- - 'spec/features/validate_application_config_spec.rb'
172
- - 'spec/longleaf/events/deregister_event_spec.rb'
173
- - 'spec/longleaf/logging/redirecting_logger_spec.rb'
174
- - 'spec/longleaf/services/metadata_serializer_spec.rb'
116
+ Enabled: false
175
117
 
176
- # Offense count: 261
118
+ # Offense count: 422
177
119
  # Cop supports --auto-correct.
178
120
  # Configuration parameters: EnforcedStyle, IndentationWidth.
179
121
  # SupportedStyles: aligned, indented, indented_relative_to_receiver
180
122
  Layout/MultilineMethodCallIndentation:
181
123
  Enabled: false
182
124
 
183
- # Offense count: 18
184
- # Cop supports --auto-correct.
185
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
186
- # SupportedStyles: space, no_space
187
- # SupportedStylesForEmptyBraces: space, no_space
188
- Layout/SpaceBeforeBlockBraces:
189
- Exclude:
190
- - 'lib/longleaf/services/service_manager.rb'
191
- - 'spec/longleaf/candidates/file_selector_spec.rb'
192
- - 'spec/longleaf/helpers/service_date_helper_spec.rb'
193
- - 'spec/longleaf/services/service_class_cache_spec.rb'
194
- - 'spec/longleaf/services/service_manager_spec.rb'
195
-
196
- # Offense count: 14
197
- # Cop supports --auto-correct.
198
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
199
- # SupportedStyles: space, no_space
200
- # SupportedStylesForEmptyBraces: space, no_space
201
- Layout/SpaceInsideBlockBraces:
202
- Exclude:
203
- - 'spec/longleaf/candidates/file_selector_spec.rb'
204
- - 'spec/longleaf/logging/redirecting_logger_spec.rb'
205
- - 'spec/longleaf/models/metadata_record_spec.rb'
206
- - 'spec/longleaf/models/storage_location_spec.rb'
207
- - 'spec/longleaf/services/metadata_serializer_spec.rb'
208
- - 'spec/longleaf/services/service_class_cache_spec.rb'
209
- - 'spec/longleaf/services/service_manager_spec.rb'
210
-
211
- # Offense count: 23
125
+ # Offense count: 26
212
126
  # Cop supports --auto-correct.
213
127
  # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
214
128
  # SupportedStyles: space, no_space, compact
215
129
  # SupportedStylesForEmptyBraces: space, no_space
216
130
  Layout/SpaceInsideHashLiteralBraces:
217
131
  Exclude:
132
+ - 'lib/longleaf/commands/reindex_command.rb'
133
+ - 'spec/features/rsync_replication_feature_spec.rb'
218
134
  - 'spec/longleaf/candidates/service_candidate_filesystem_iterator_spec.rb'
219
135
  - 'spec/longleaf/models/metadata_record_spec.rb'
220
136
  - 'spec/longleaf/models/service_record_spec.rb'
221
137
  - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
222
138
  - 'spec/longleaf/services/metadata_serializer_spec.rb'
223
139
 
224
- # Offense count: 38
140
+ # Offense count: 41
225
141
  # Cop supports --auto-correct.
226
142
  # Configuration parameters: EnforcedStyle.
227
143
  # SupportedStyles: space, no_space
228
144
  Layout/SpaceInsideParens:
229
145
  Exclude:
146
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
147
+ - 'spec/features/rsync_replication_feature_spec.rb'
230
148
  - 'spec/longleaf/events/deregister_event_spec.rb'
231
149
  - 'spec/longleaf/events/preserve_event_spec.rb'
232
150
  - 'spec/longleaf/events/register_event_spec.rb'
@@ -239,123 +157,104 @@ Layout/SpaceInsideParens:
239
157
  - 'spec/longleaf/services/service_definition_validator_spec.rb'
240
158
  - 'spec/longleaf/services/storage_location_validator_spec.rb'
241
159
 
242
- # Offense count: 70
243
- # Cop supports --auto-correct.
244
- # Configuration parameters: EnforcedStyle.
245
- # SupportedStyles: final_newline, final_blank_line
246
- Layout/TrailingBlankLines:
247
- Enabled: false
248
-
249
- # Offense count: 1158
250
- # Cop supports --auto-correct.
251
- # Configuration parameters: AllowInHeredoc.
252
- Layout/TrailingWhitespace:
253
- Enabled: false
254
-
255
- # Offense count: 4
256
- Lint/IneffectiveAccessModifier:
160
+ # Offense count: 1
161
+ Lint/EmptyWhen:
257
162
  Exclude:
258
- - 'lib/longleaf/services/application_config_deserializer.rb'
259
- - 'lib/longleaf/services/configuration_validator.rb'
260
- - 'lib/longleaf/services/service_mapping_validator.rb'
261
- - 'lib/longleaf/services/storage_location_validator.rb'
163
+ - 'lib/longleaf/candidates/service_candidate_index_iterator.rb'
262
164
 
263
- # Offense count: 1
165
+ # Offense count: 11
264
166
  Lint/ParenthesesAsGroupedExpression:
265
167
  Exclude:
168
+ - 'spec/features/metadata_indexing_spec.rb'
169
+ - 'spec/features/reindex_command_spec.rb'
266
170
  - 'spec/longleaf/models/metadata_record_spec.rb'
267
171
 
268
- # Offense count: 2
269
- # Cop supports --auto-correct.
270
- Lint/StringConversionInInterpolation:
271
- Exclude:
272
- - 'lib/longleaf/logging/redirecting_logger.rb'
273
- - 'lib/longleaf/preservation_services/fixity_check_service.rb'
274
-
275
- # Offense count: 7
172
+ # Offense count: 10
276
173
  # Cop supports --auto-correct.
277
174
  # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
278
175
  Lint/UnusedBlockArgument:
279
176
  Exclude:
280
177
  - 'lib/longleaf/commands/validate_config_command.rb'
281
178
  - 'lib/longleaf/logging/redirecting_logger.rb'
179
+ - 'lib/longleaf/services/application_config_deserializer.rb'
282
180
  - 'lib/longleaf/services/service_mapping_manager.rb'
283
181
  - 'lib/longleaf/services/storage_location_manager.rb'
284
182
 
285
- # Offense count: 3
183
+ # Offense count: 4
286
184
  # Cop supports --auto-correct.
287
185
  # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
288
186
  Lint/UnusedMethodArgument:
289
187
  Exclude:
188
+ - 'lib/longleaf/preservation_services/file_check_service.rb'
290
189
  - 'lib/longleaf/preservation_services/fixity_check_service.rb'
291
190
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
292
191
 
293
- # Offense count: 4
294
- # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
295
- Lint/UselessAccessModifier:
296
- Exclude:
297
- - 'lib/longleaf/services/application_config_deserializer.rb'
298
- - 'lib/longleaf/services/configuration_validator.rb'
299
- - 'lib/longleaf/services/service_mapping_validator.rb'
300
- - 'lib/longleaf/services/storage_location_validator.rb'
301
-
302
- # Offense count: 11
192
+ # Offense count: 6
303
193
  Lint/UselessAssignment:
304
194
  Exclude:
305
195
  - 'lib/longleaf/cli.rb'
306
- - 'lib/longleaf/commands/preserve_command.rb'
196
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
307
197
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
308
198
  - 'lib/longleaf/services/application_config_deserializer.rb'
309
- - 'lib/longleaf/services/service_class_cache.rb'
310
- - 'lib/longleaf/services/service_definition_validator.rb'
311
- - 'lib/longleaf/services/service_mapping_validator.rb'
312
199
  - 'spec/longleaf/events/register_event_spec.rb'
313
200
 
314
- # Offense count: 6
201
+ # Offense count: 44
315
202
  Metrics/AbcSize:
316
- Max: 43
203
+ Max: 45
317
204
 
318
- # Offense count: 88
205
+ # Offense count: 1
319
206
  # Configuration parameters: CountComments, ExcludedMethods.
320
207
  # ExcludedMethods: refine
321
208
  Metrics/BlockLength:
322
- Max: 309
209
+ Max: 36
323
210
 
324
- # Offense count: 1
211
+ # Offense count: 2
325
212
  # Configuration parameters: CountBlocks.
326
213
  Metrics/BlockNesting:
327
214
  Max: 4
328
215
 
329
- # Offense count: 2
216
+ # Offense count: 3
330
217
  # Configuration parameters: CountComments.
331
218
  Metrics/ClassLength:
332
- Max: 118
219
+ Max: 212
333
220
 
334
- # Offense count: 13
221
+ # Offense count: 16
335
222
  Metrics/CyclomaticComplexity:
336
- Max: 10
223
+ Max: 11
337
224
 
338
- # Offense count: 2
339
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
225
+ # Offense count: 4
226
+ # Cop supports --auto-correct.
227
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
340
228
  # URISchemes: http, https
341
229
  Metrics/LineLength:
342
- Max: 249
230
+ Max: 299
343
231
 
344
- # Offense count: 21
232
+ # Offense count: 56
345
233
  # Configuration parameters: CountComments, ExcludedMethods.
346
234
  Metrics/MethodLength:
347
- Max: 38
235
+ Max: 40
348
236
 
349
237
  # Offense count: 7
350
238
  # Configuration parameters: CountKeywordArgs.
351
239
  Metrics/ParameterLists:
352
240
  Max: 7
353
241
 
354
- # Offense count: 8
242
+ # Offense count: 13
355
243
  Metrics/PerceivedComplexity:
356
- Max: 12
244
+ Max: 13
357
245
 
358
246
  # Offense count: 2
247
+ Naming/AccessorMethodName:
248
+ Exclude:
249
+ - 'lib/longleaf/specs/metadata_builder.rb'
250
+ - 'spec/features/reindex_command_spec.rb'
251
+
252
+ # Offense count: 1
253
+ Naming/BinaryOperatorParameterName:
254
+ Exclude:
255
+ - 'lib/longleaf/models/file_record.rb'
256
+
257
+ # Offense count: 4
359
258
  # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
360
259
  # NamePrefix: is_, has_, have_
361
260
  # NamePrefixBlacklist: is_, has_, have_
@@ -364,9 +263,37 @@ Metrics/PerceivedComplexity:
364
263
  Naming/PredicateName:
365
264
  Exclude:
366
265
  - 'spec/**/*'
266
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
267
+ - 'lib/longleaf/preservation_services/file_check_service.rb'
367
268
  - 'lib/longleaf/preservation_services/fixity_check_service.rb'
368
269
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
369
270
 
271
+ # Offense count: 22
272
+ # Cop supports --auto-correct.
273
+ # Configuration parameters: PreferredName.
274
+ Naming/RescuedExceptionsVariableName:
275
+ Exclude:
276
+ - 'lib/longleaf/cli.rb'
277
+ - 'lib/longleaf/commands/deregister_command.rb'
278
+ - 'lib/longleaf/commands/preserve_command.rb'
279
+ - 'lib/longleaf/commands/register_command.rb'
280
+ - 'lib/longleaf/commands/reindex_command.rb'
281
+ - 'lib/longleaf/commands/validate_config_command.rb'
282
+ - 'lib/longleaf/commands/validate_metadata_command.rb'
283
+ - 'lib/longleaf/events/deregister_event.rb'
284
+ - 'lib/longleaf/events/register_event.rb'
285
+ - 'lib/longleaf/services/application_config_deserializer.rb'
286
+ - 'lib/longleaf/services/metadata_deserializer.rb'
287
+ - 'lib/longleaf/services/storage_location_validator.rb'
288
+ - 'spec/longleaf/logging/redirecting_logger_spec.rb'
289
+
290
+ # Offense count: 4
291
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
292
+ # AllowedNames: io, id, to, by, on, in, at, ip, db
293
+ Naming/UncommunicativeMethodParamName:
294
+ Exclude:
295
+ - 'lib/longleaf/logging/redirecting_logger.rb'
296
+
370
297
  # Offense count: 4
371
298
  # Configuration parameters: EnforcedStyle.
372
299
  # SupportedStyles: snake_case, camelCase
@@ -376,51 +303,103 @@ Naming/VariableName:
376
303
 
377
304
  # Offense count: 1
378
305
  # Cop supports --auto-correct.
379
- Performance/RedundantMatch:
306
+ Performance/RedundantBlockCall:
380
307
  Exclude:
381
- - 'lib/longleaf/cli.rb'
308
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
382
309
 
383
310
  # Offense count: 1
384
311
  # Cop supports --auto-correct.
385
- Performance/ReverseEach:
312
+ Performance/RedundantMatch:
386
313
  Exclude:
387
- - 'lib/longleaf/candidates/file_selector.rb'
314
+ - 'lib/longleaf/cli.rb'
388
315
 
389
- # Offense count: 4
316
+ # Offense count: 2
317
+ RSpec/BeforeAfterAll:
318
+ Exclude:
319
+ - 'spec/spec_helper.rb'
320
+ - 'spec/rails_helper.rb'
321
+ - 'spec/support/**/*.rb'
322
+ - 'spec/features/metadata_indexing_spec.rb'
323
+ - 'spec/features/reindex_command_spec.rb'
324
+
325
+ # Offense count: 308
326
+ # Configuration parameters: Prefixes.
327
+ # Prefixes: when, with, without
328
+ RSpec/ContextWording:
329
+ Enabled: false
330
+
331
+ # Offense count: 12
390
332
  RSpec/DescribeClass:
391
333
  Exclude:
334
+ - 'spec/features/cli_spec.rb'
392
335
  - 'spec/features/deregister_command_spec.rb'
336
+ - 'spec/features/file_check_feature_spec.rb'
337
+ - 'spec/features/fixity_check_feature_spec.rb'
338
+ - 'spec/features/metadata_digests_spec.rb'
339
+ - 'spec/features/metadata_indexing_spec.rb'
393
340
  - 'spec/features/preserve_command_spec.rb'
394
341
  - 'spec/features/register_command_spec.rb'
342
+ - 'spec/features/reindex_command_spec.rb'
343
+ - 'spec/features/rsync_replication_feature_spec.rb'
395
344
  - 'spec/features/validate_application_config_spec.rb'
345
+ - 'spec/features/validate_metadata_command_spec.rb'
396
346
 
397
- # Offense count: 49
347
+ # Offense count: 57
398
348
  # Cop supports --auto-correct.
399
349
  # Configuration parameters: SkipBlocks, EnforcedStyle.
400
350
  # SupportedStyles: described_class, explicit
401
351
  RSpec/DescribedClass:
402
352
  Enabled: false
403
353
 
404
- # Offense count: 18
354
+ # Offense count: 2
355
+ # Cop supports --auto-correct.
356
+ RSpec/EmptyLineAfterExampleGroup:
357
+ Exclude:
358
+ - 'spec/longleaf/models/storage_location_spec.rb'
359
+
360
+ # Offense count: 31
361
+ # Cop supports --auto-correct.
362
+ RSpec/EmptyLineAfterFinalLet:
363
+ Exclude:
364
+ - 'spec/longleaf/candidates/service_candidate_filesystem_iterator_spec.rb'
365
+ - 'spec/longleaf/indexing/sequel_index_driver_spec.rb'
366
+ - 'spec/longleaf/models/metadata_record_spec.rb'
367
+ - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
368
+ - 'spec/longleaf/services/metadata_deserializer_spec.rb'
369
+ - 'spec/longleaf/services/storage_location_validator_spec.rb'
370
+ - 'spec/support/shared_examples/file_selector_examples.rb'
371
+
372
+ # Offense count: 5
373
+ # Cop supports --auto-correct.
374
+ RSpec/EmptyLineAfterHook:
375
+ Exclude:
376
+ - 'spec/features/register_command_spec.rb'
377
+ - 'spec/longleaf/services/service_class_cache_spec.rb'
378
+
379
+ # Offense count: 33
405
380
  # Configuration parameters: Max.
406
381
  RSpec/ExampleLength:
382
+ Enabled: false
383
+
384
+ # Offense count: 2
385
+ RSpec/ExpectInHook:
407
386
  Exclude:
408
- - 'spec/features/deregister_command_spec.rb'
409
- - 'spec/longleaf/events/deregister_event_spec.rb'
410
- - 'spec/longleaf/events/preserve_event_spec.rb'
387
+ - 'spec/features/metadata_indexing_spec.rb'
411
388
  - 'spec/longleaf/events/register_event_spec.rb'
412
- - 'spec/longleaf/logging/redirecting_logger_spec.rb'
413
- - 'spec/longleaf/preservation_services/rsync_replication_service_spec.rb'
414
- - 'spec/longleaf/services/metadata_deserializer_spec.rb'
415
- - 'spec/longleaf/services/metadata_serializer_spec.rb'
416
- - 'spec/longleaf/services/service_definition_manager_spec.rb'
417
389
 
418
- # Offense count: 14
390
+ # Offense count: 31
391
+ # Configuration parameters: CustomTransform, IgnoreMethods.
392
+ RSpec/FilePath:
393
+ Enabled: false
394
+
395
+ # Offense count: 19
419
396
  # Cop supports --auto-correct.
420
397
  # Configuration parameters: EnforcedStyle.
421
398
  # SupportedStyles: implicit, each, example
422
399
  RSpec/HookArgument:
423
400
  Exclude:
401
+ - 'spec/features/metadata_digests_spec.rb'
402
+ - 'spec/features/validate_application_config_spec.rb'
424
403
  - 'spec/longleaf/models/storage_location_spec.rb'
425
404
  - 'spec/longleaf/preservation_services/rsync_replication_service_spec.rb'
426
405
  - 'spec/longleaf/services/application_config_deserializer_spec.rb'
@@ -428,25 +407,75 @@ RSpec/HookArgument:
428
407
  - 'spec/longleaf/services/metadata_deserializer_spec.rb'
429
408
  - 'spec/longleaf/services/service_manager_spec.rb'
430
409
 
431
- # Offense count: 8
410
+ # Offense count: 10
411
+ # Configuration parameters: AssignmentOnly.
412
+ RSpec/InstanceVariable:
413
+ Exclude:
414
+ - 'spec/features/metadata_indexing_spec.rb'
415
+ - 'spec/features/reindex_command_spec.rb'
416
+ - 'spec/longleaf/indexing/sequel_index_driver_spec.rb'
417
+
418
+ # Offense count: 1
419
+ # Cop supports --auto-correct.
420
+ RSpec/LetBeforeExamples:
421
+ Exclude:
422
+ - 'spec/longleaf/models/metadata_record_spec.rb'
423
+
424
+ # Offense count: 15
432
425
  RSpec/LetSetup:
433
426
  Exclude:
427
+ - 'spec/features/metadata_indexing_spec.rb'
434
428
  - 'spec/features/preserve_command_spec.rb'
435
429
  - 'spec/longleaf/candidates/service_candidate_filesystem_iterator_spec.rb'
430
+ - 'spec/longleaf/candidates/service_candidate_index_iterator_spec.rb'
431
+ - 'spec/longleaf/indexing/sequel_index_driver_spec.rb'
436
432
 
437
- # Offense count: 4
433
+ # Offense count: 11
438
434
  # Configuration parameters: .
439
435
  # SupportedStyles: have_received, receive
440
436
  RSpec/MessageSpies:
441
437
  EnforcedStyle: receive
442
438
 
443
- # Offense count: 63
439
+ # Offense count: 187
440
+ # Configuration parameters: AggregateFailuresByDefault.
441
+ RSpec/MultipleExpectations:
442
+ Max: 9
443
+
444
+ # Offense count: 126
445
+ RSpec/NestedGroups:
446
+ Max: 5
447
+
448
+ # Offense count: 84
444
449
  # Cop supports --auto-correct.
445
450
  # Configuration parameters: EnforcedStyle.
446
451
  # SupportedStyles: not_to, to_not
447
452
  RSpec/NotToNot:
448
453
  Enabled: false
449
454
 
455
+ # Offense count: 12
456
+ # Cop supports --auto-correct.
457
+ # Configuration parameters: EnforcedStyle.
458
+ # SupportedStyles: and_return, block
459
+ RSpec/ReturnFromStub:
460
+ Exclude:
461
+ - 'spec/longleaf/events/preserve_event_spec.rb'
462
+
463
+ # Offense count: 42
464
+ RSpec/ScatteredLet:
465
+ Exclude:
466
+ - 'spec/features/fixity_check_feature_spec.rb'
467
+ - 'spec/features/metadata_indexing_spec.rb'
468
+ - 'spec/features/reindex_command_spec.rb'
469
+ - 'spec/features/rsync_replication_feature_spec.rb'
470
+ - 'spec/longleaf/candidates/service_candidate_filesystem_iterator_spec.rb'
471
+ - 'spec/longleaf/candidates/service_candidate_index_iterator_spec.rb'
472
+ - 'spec/longleaf/candidates/service_candidate_locator_spec.rb'
473
+ - 'spec/longleaf/events/deregister_event_spec.rb'
474
+ - 'spec/longleaf/indexing/sequel_index_driver_spec.rb'
475
+ - 'spec/longleaf/models/metadata_record_spec.rb'
476
+ - 'spec/longleaf/services/service_manager_spec.rb'
477
+ - 'spec/support/shared_examples/file_selector_examples.rb'
478
+
450
479
  # Offense count: 3
451
480
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
452
481
  RSpec/VerifiedDoubles:
@@ -455,33 +484,19 @@ RSpec/VerifiedDoubles:
455
484
  - 'spec/longleaf/services/service_class_cache_spec.rb'
456
485
  - 'spec/longleaf/services/service_manager_spec.rb'
457
486
 
458
- # Offense count: 7
459
- # Configuration parameters: Include.
460
- # Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
461
- Rails/Exit:
462
- Exclude:
463
- - 'lib/**/*.rake'
464
- - 'lib/longleaf/cli.rb'
465
-
466
- # Offense count: 8
467
- # Configuration parameters: EnforcedStyle.
468
- # SupportedStyles: strict, flexible
469
- Rails/TimeZone:
487
+ # Offense count: 1
488
+ RSpec/VoidExpect:
470
489
  Exclude:
471
- - 'lib/longleaf/helpers/service_date_helper.rb'
472
- - 'spec/features/preserve_command_spec.rb'
473
- - 'spec/longleaf/events/deregister_event_spec.rb'
474
- - 'spec/longleaf/events/preserve_event_spec.rb'
475
- - 'spec/longleaf/logging/redirecting_logger_spec.rb'
476
- - 'spec/longleaf/models/metadata_record_spec.rb'
490
+ - 'spec/longleaf/indexing/sequel_index_driver_spec.rb'
477
491
 
478
- # Offense count: 1
492
+ # Offense count: 2
479
493
  # Cop supports --auto-correct.
480
494
  # Configuration parameters: EnforcedStyle.
481
495
  # SupportedStyles: always, conditionals
482
496
  Style/AndOr:
483
497
  Exclude:
484
498
  - 'lib/longleaf/candidates/file_selector.rb'
499
+ - 'lib/longleaf/candidates/registered_file_selector.rb'
485
500
 
486
501
  # Offense count: 1
487
502
  # Cop supports --auto-correct.
@@ -497,47 +512,72 @@ Style/BlockComments:
497
512
  Exclude:
498
513
  - 'spec/spec_helper.rb'
499
514
 
500
- # Offense count: 134
515
+ # Offense count: 200
501
516
  # Cop supports --auto-correct.
502
- # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods.
503
- # SupportedStyles: line_count_based, semantic, braces_for_chaining
517
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners.
518
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
504
519
  # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
505
520
  # FunctionalMethods: let, let!, subject, watch
506
521
  # IgnoredMethods: lambda, proc, it
507
522
  Style/BlockDelimiters:
508
523
  Enabled: false
509
524
 
510
- # Offense count: 66
525
+ # Offense count: 10
526
+ # Cop supports --auto-correct.
527
+ # Configuration parameters: EnforcedStyle.
528
+ # SupportedStyles: braces, no_braces, context_dependent
529
+ Style/BracesAroundHashParameters:
530
+ Exclude:
531
+ - 'lib/longleaf/cli.rb'
532
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
533
+
534
+ # Offense count: 1
535
+ # Cop supports --auto-correct.
536
+ # Configuration parameters: EnforcedStyle.
537
+ # SupportedStyles: is_a?, kind_of?
538
+ Style/ClassCheck:
539
+ Exclude:
540
+ - 'lib/longleaf/specs/metadata_builder.rb'
541
+
542
+ # Offense count: 82
511
543
  # Cop supports --auto-correct.
512
544
  Style/ColonMethodCall:
545
+ Enabled: false
546
+
547
+ # Offense count: 1
548
+ # Cop supports --auto-correct.
549
+ # Configuration parameters: Keywords.
550
+ # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
551
+ Style/CommentAnnotation:
513
552
  Exclude:
514
- - 'lib/longleaf/events/deregister_event.rb'
515
- - 'lib/longleaf/events/preserve_event.rb'
516
- - 'lib/longleaf/events/register_event.rb'
517
- - 'lib/longleaf/models/storage_location.rb'
518
- - 'lib/longleaf/services/application_config_validator.rb'
519
- - 'lib/longleaf/services/storage_location_validator.rb'
520
- - 'spec/features/deregister_command_spec.rb'
521
- - 'spec/features/register_command_spec.rb'
522
- - 'spec/longleaf/events/register_event_spec.rb'
523
- - 'spec/longleaf/services/application_config_deserializer_spec.rb'
524
- - 'spec/longleaf/services/application_config_validator_spec.rb'
525
- - 'spec/longleaf/services/service_definition_validator_spec.rb'
526
- - 'spec/longleaf/services/service_mapping_validator_spec.rb'
527
- - 'spec/longleaf/services/storage_location_validator_spec.rb'
528
- - 'spec/longleaf/services/storage_path_validator_spec.rb'
553
+ - 'spec/longleaf/candidates/service_candidate_index_iterator_spec.rb'
529
554
 
530
- # Offense count: 4
555
+ # Offense count: 11
531
556
  # Cop supports --auto-correct.
532
557
  # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
533
558
  # SupportedStyles: assign_to_condition, assign_inside_condition
534
559
  Style/ConditionalAssignment:
535
560
  Exclude:
536
561
  - 'lib/longleaf/events/event_status_tracking.rb'
562
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
537
563
  - 'lib/longleaf/logging/redirecting_logger.rb'
564
+ - 'lib/longleaf/models/storage_location.rb'
538
565
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
566
+ - 'lib/longleaf/services/application_config_deserializer.rb'
567
+ - 'lib/longleaf/services/metadata_deserializer.rb'
568
+ - 'lib/longleaf/services/metadata_serializer.rb'
569
+ - 'lib/longleaf/specs/metadata_builder.rb'
570
+ - 'spec/features/reindex_command_spec.rb'
539
571
 
540
- # Offense count: 41
572
+ # Offense count: 2
573
+ Style/Documentation:
574
+ Exclude:
575
+ - 'spec/**/*'
576
+ - 'test/**/*'
577
+ - 'lib/longleaf.rb'
578
+ - 'lib/longleaf/specs/custom_matchers.rb'
579
+
580
+ # Offense count: 52
541
581
  # Cop supports --auto-correct.
542
582
  Style/EmptyLiteral:
543
583
  Enabled: false
@@ -550,38 +590,34 @@ Style/FormatString:
550
590
  Exclude:
551
591
  - 'lib/longleaf/logging/redirecting_logger.rb'
552
592
 
553
- # Offense count: 93
593
+ # Offense count: 119
554
594
  # Cop supports --auto-correct.
555
595
  # Configuration parameters: EnforcedStyle.
556
- # SupportedStyles: when_needed, always, never
596
+ # SupportedStyles: always, never
557
597
  Style/FrozenStringLiteralComment:
558
598
  Enabled: false
559
599
 
560
- # Offense count: 8
600
+ # Offense count: 13
561
601
  # Configuration parameters: MinBodyLength.
562
602
  Style/GuardClause:
563
603
  Exclude:
564
604
  - 'lib/longleaf/candidates/file_selector.rb'
605
+ - 'lib/longleaf/candidates/registered_file_selector.rb'
606
+ - 'lib/longleaf/candidates/service_candidate_index_iterator.rb'
565
607
  - 'lib/longleaf/cli.rb'
566
608
  - 'lib/longleaf/helpers/service_date_helper.rb'
609
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
610
+ - 'lib/longleaf/preservation_services/file_check_service.rb'
567
611
  - 'lib/longleaf/preservation_services/fixity_check_service.rb'
612
+ - 'lib/longleaf/services/metadata_persistence_manager.rb'
568
613
  - 'lib/longleaf/services/storage_location_manager.rb'
569
614
 
570
- # Offense count: 50
615
+ # Offense count: 59
571
616
  # Cop supports --auto-correct.
572
617
  # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
573
618
  # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
574
619
  Style/HashSyntax:
575
- Exclude:
576
- - 'Rakefile'
577
- - 'lib/longleaf/cli.rb'
578
- - 'lib/longleaf/logging/redirecting_logger.rb'
579
- - 'spec/features/deregister_command_spec.rb'
580
- - 'spec/features/preserve_command_spec.rb'
581
- - 'spec/features/register_command_spec.rb'
582
- - 'spec/features/validate_application_config_spec.rb'
583
- - 'spec/longleaf/events/preserve_event_spec.rb'
584
- - 'spec/longleaf/services/metadata_serializer_spec.rb'
620
+ Enabled: false
585
621
 
586
622
  # Offense count: 3
587
623
  Style/IfInsideElse:
@@ -589,86 +625,102 @@ Style/IfInsideElse:
589
625
  - 'lib/longleaf/preservation_services/fixity_check_service.rb'
590
626
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
591
627
 
592
- # Offense count: 23
628
+ # Offense count: 32
593
629
  # Cop supports --auto-correct.
594
630
  Style/IfUnlessModifier:
631
+ Enabled: false
632
+
633
+ # Offense count: 1
634
+ # Cop supports --auto-correct.
635
+ # Configuration parameters: InverseMethods, InverseBlocks.
636
+ Style/InverseMethods:
595
637
  Exclude:
596
- - 'lib/longleaf/candidates/file_selector.rb'
597
- - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
598
- - 'lib/longleaf/cli.rb'
599
- - 'lib/longleaf/commands/deregister_command.rb'
600
- - 'lib/longleaf/events/deregister_event.rb'
601
- - 'lib/longleaf/events/preserve_event.rb'
602
- - 'lib/longleaf/events/register_event.rb'
603
- - 'lib/longleaf/preservation_services/fixity_check_service.rb'
604
- - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
605
- - 'lib/longleaf/services/metadata_deserializer.rb'
606
- - 'lib/longleaf/services/service_class_cache.rb'
638
+ - 'lib/longleaf/helpers/digest_helper.rb'
607
639
 
608
640
  # Offense count: 3
609
641
  # Cop supports --auto-correct.
610
642
  # Configuration parameters: IgnoredMethods.
611
643
  Style/MethodCallWithoutArgsParentheses:
612
644
  Exclude:
613
- - 'spec/longleaf/candidates/file_selector_spec.rb'
614
645
  - 'spec/longleaf/services/metadata_deserializer_spec.rb'
646
+ - 'spec/support/shared_examples/file_selector_examples.rb'
615
647
 
616
- # Offense count: 2
648
+ # Offense count: 1
617
649
  # Cop supports --auto-correct.
618
650
  Style/MultilineIfModifier:
619
651
  Exclude:
620
652
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
621
653
 
622
- # Offense count: 48
654
+ # Offense count: 2
655
+ Style/MultipleComparison:
656
+ Exclude:
657
+ - 'lib/longleaf/candidates/file_selector.rb'
658
+ - 'lib/longleaf/candidates/registered_file_selector.rb'
659
+
660
+ # Offense count: 59
623
661
  # Cop supports --auto-correct.
662
+ # Configuration parameters: EnforcedStyle.
663
+ # SupportedStyles: literals, strict
624
664
  Style/MutableConstant:
625
665
  Exclude:
666
+ - 'lib/longleaf/candidates/file_selector.rb'
626
667
  - 'lib/longleaf/events/event_names.rb'
668
+ - 'lib/longleaf/helpers/digest_helper.rb'
669
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
627
670
  - 'lib/longleaf/models/app_fields.rb'
628
671
  - 'lib/longleaf/models/md_fields.rb'
629
672
  - 'lib/longleaf/models/service_fields.rb'
673
+ - 'lib/longleaf/models/system_config_fields.rb'
630
674
  - 'lib/longleaf/preservation_services/fixity_check_service.rb'
631
675
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
632
676
  - 'lib/longleaf/services/service_class_cache.rb'
633
677
  - 'lib/longleaf/version.rb'
678
+ - 'spec/features/fixity_check_feature_spec.rb'
634
679
  - 'spec/longleaf/preservation_services/fixity_check_service_spec.rb'
635
680
 
636
- # Offense count: 4
681
+ # Offense count: 9
637
682
  # Cop supports --auto-correct.
638
683
  # Configuration parameters: EnforcedStyle.
639
684
  # SupportedStyles: both, prefix, postfix
640
685
  Style/NegatedIf:
641
686
  Exclude:
687
+ - 'lib/longleaf/candidates/file_selector.rb'
642
688
  - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
643
- - 'lib/longleaf/cli.rb'
689
+ - 'lib/longleaf/commands/reindex_command.rb'
690
+ - 'lib/longleaf/events/preserve_event.rb'
691
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
692
+ - 'lib/longleaf/preservation_services/file_check_service.rb'
644
693
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
645
694
  - 'lib/longleaf/services/service_class_cache.rb'
646
695
 
647
- # Offense count: 1
696
+ # Offense count: 2
648
697
  # Cop supports --auto-correct.
649
698
  # Configuration parameters: EnforcedStyle, MinBodyLength.
650
699
  # SupportedStyles: skip_modifier_ifs, always
651
700
  Style/Next:
652
701
  Exclude:
702
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
653
703
  - 'lib/longleaf/services/storage_location_validator.rb'
654
704
 
655
- # Offense count: 3
705
+ # Offense count: 5
656
706
  # Cop supports --auto-correct.
657
707
  # Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
658
708
  # SupportedStyles: predicate, comparison
659
709
  Style/NumericPredicate:
660
710
  Exclude:
661
711
  - 'spec/**/*'
662
- - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
712
+ - 'lib/longleaf/commands/reindex_command.rb'
663
713
  - 'lib/longleaf/events/event_status_tracking.rb'
714
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
664
715
 
665
- # Offense count: 3
716
+ # Offense count: 8
666
717
  # Cop supports --auto-correct.
667
718
  # Configuration parameters: PreferredDelimiters.
668
719
  Style/PercentLiteralDelimiters:
669
720
  Exclude:
670
721
  - 'lib/longleaf/cli.rb'
671
- - 'longleaf.gemspec'
722
+ - 'spec/features/file_check_feature_spec.rb'
723
+ - 'spec/features/fixity_check_feature_spec.rb'
672
724
 
673
725
  # Offense count: 2
674
726
  # Cop supports --auto-correct.
@@ -676,43 +728,77 @@ Style/PerlBackrefs:
676
728
  Exclude:
677
729
  - 'lib/longleaf/helpers/service_date_helper.rb'
678
730
 
679
- # Offense count: 72
731
+ # Offense count: 93
680
732
  # Cop supports --auto-correct.
681
733
  # Configuration parameters: .
682
734
  # SupportedStyles: compact, exploded
683
735
  Style/RaiseArgs:
684
736
  EnforcedStyle: compact
685
737
 
686
- # Offense count: 2
738
+ # Offense count: 3
687
739
  # Cop supports --auto-correct.
688
740
  Style/RedundantBegin:
689
741
  Exclude:
690
742
  - 'lib/longleaf/cli.rb'
691
743
  - 'lib/longleaf/services/application_config_deserializer.rb'
692
744
 
693
- # Offense count: 1
745
+ # Offense count: 11
694
746
  # Cop supports --auto-correct.
695
747
  Style/RedundantParentheses:
696
748
  Exclude:
749
+ - 'spec/features/metadata_indexing_spec.rb'
750
+ - 'spec/features/reindex_command_spec.rb'
697
751
  - 'spec/longleaf/models/metadata_record_spec.rb'
698
752
 
699
- # Offense count: 6
753
+ # Offense count: 9
700
754
  # Cop supports --auto-correct.
701
755
  # Configuration parameters: AllowMultipleReturnValues.
702
756
  Style/RedundantReturn:
703
757
  Exclude:
704
- - 'lib/longleaf/preservation_services/fixity_check_service.rb'
758
+ - 'lib/longleaf/candidates/registered_file_selector.rb'
759
+ - 'lib/longleaf/helpers/digest_helper.rb'
760
+ - 'lib/longleaf/indexing/sequel_index_driver.rb'
705
761
  - 'lib/longleaf/specs/file_helpers.rb'
706
762
 
707
- # Offense count: 3
763
+ # Offense count: 1
764
+ # Cop supports --auto-correct.
765
+ Style/RedundantSelf:
766
+ Exclude:
767
+ - 'lib/longleaf/services/metadata_serializer.rb'
768
+
769
+ # Offense count: 21
770
+ # Cop supports --auto-correct.
771
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
772
+ # SupportedStyles: slashes, percent_r, mixed
773
+ Style/RegexpLiteral:
774
+ Exclude:
775
+ - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
776
+ - 'spec/features/file_check_feature_spec.rb'
777
+ - 'spec/features/fixity_check_feature_spec.rb'
778
+ - 'spec/longleaf/logging/redirecting_logger_spec.rb'
779
+
780
+ # Offense count: 9
781
+ # Cop supports --auto-correct.
782
+ # Configuration parameters: EnforcedStyle.
783
+ # SupportedStyles: implicit, explicit
784
+ Style/RescueStandardError:
785
+ Exclude:
786
+ - 'lib/longleaf/commands/deregister_command.rb'
787
+ - 'lib/longleaf/commands/preserve_command.rb'
788
+ - 'lib/longleaf/commands/register_command.rb'
789
+ - 'lib/longleaf/commands/reindex_command.rb'
790
+ - 'lib/longleaf/commands/validate_config_command.rb'
791
+ - 'lib/longleaf/commands/validate_metadata_command.rb'
792
+ - 'lib/longleaf/services/application_config_deserializer.rb'
793
+ - 'lib/longleaf/services/metadata_deserializer.rb'
794
+
795
+ # Offense count: 1
708
796
  # Cop supports --auto-correct.
709
797
  # Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
710
798
  # Whitelist: present?, blank?, presence, try, try!
711
799
  Style/SafeNavigation:
712
800
  Exclude:
713
- - 'lib/longleaf/cli.rb'
714
- - 'lib/longleaf/services/metadata_deserializer.rb'
715
- - 'spec/longleaf/candidates/service_candidate_filesystem_iterator_spec.rb'
801
+ - 'lib/longleaf/services/metadata_serializer.rb'
716
802
 
717
803
  # Offense count: 2
718
804
  # Cop supports --auto-correct.
@@ -721,35 +807,28 @@ Style/SelfAssignment:
721
807
  - 'lib/longleaf/logging/redirecting_logger.rb'
722
808
  - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
723
809
 
724
- # Offense count: 1
725
- # Cop supports --auto-correct.
726
- # Configuration parameters: EnforcedStyle.
727
- # SupportedStyles: single_quotes, double_quotes
728
- Style/StringLiteralsInInterpolation:
729
- Exclude:
730
- - 'lib/longleaf/preservation_services/rsync_replication_service.rb'
731
-
732
810
  # Offense count: 3
733
811
  # Cop supports --auto-correct.
734
812
  Style/UnneededInterpolation:
735
813
  Exclude:
736
814
  - 'lib/longleaf/logging/redirecting_logger.rb'
737
815
 
738
- # Offense count: 3
816
+ # Offense count: 1
739
817
  # Cop supports --auto-correct.
740
818
  Style/UnneededPercentQ:
741
819
  Exclude:
742
820
  - 'lib/longleaf/specs/file_helpers.rb'
743
- - 'longleaf.gemspec'
744
821
 
745
- # Offense count: 1
822
+ # Offense count: 2
746
823
  # Cop supports --auto-correct.
747
824
  Style/WhileUntilDo:
748
825
  Exclude:
749
826
  - 'lib/longleaf/candidates/file_selector.rb'
827
+ - 'lib/longleaf/candidates/registered_file_selector.rb'
750
828
 
751
- # Offense count: 1
829
+ # Offense count: 33
752
830
  # Cop supports --auto-correct.
753
- Style/ZeroLengthPredicate:
754
- Exclude:
755
- - 'lib/longleaf/candidates/service_candidate_filesystem_iterator.rb'
831
+ # Configuration parameters: EnforcedStyle, MinSize, WordRegex.
832
+ # SupportedStyles: percent, brackets
833
+ Style/WordArray:
834
+ Enabled: false