ukiryu 0.1.1 → 0.1.3

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +58 -14
  3. data/.gitignore +3 -0
  4. data/.rubocop_todo.yml +170 -79
  5. data/Gemfile +1 -1
  6. data/README.adoc +1603 -576
  7. data/docs/.gitignore +1 -0
  8. data/docs/Gemfile +10 -0
  9. data/docs/INDEX.adoc +261 -0
  10. data/docs/_config.yml +180 -0
  11. data/docs/advanced/custom-tool-classes.adoc +581 -0
  12. data/docs/advanced/index.adoc +20 -0
  13. data/docs/features/configuration.adoc +657 -0
  14. data/docs/features/index.adoc +31 -0
  15. data/docs/features/platform-support.adoc +488 -0
  16. data/docs/getting-started/core-concepts.adoc +666 -0
  17. data/docs/getting-started/index.adoc +36 -0
  18. data/docs/getting-started/installation.adoc +216 -0
  19. data/docs/getting-started/quick-start.adoc +258 -0
  20. data/docs/guides/env-var-sets.adoc +388 -0
  21. data/docs/guides/index.adoc +20 -0
  22. data/docs/interfaces/cli.adoc +609 -0
  23. data/docs/interfaces/index.adoc +153 -0
  24. data/docs/interfaces/ruby-api.adoc +538 -0
  25. data/docs/lychee.toml +49 -0
  26. data/docs/reference/configuration-options.adoc +720 -0
  27. data/docs/reference/error-codes.adoc +634 -0
  28. data/docs/reference/index.adoc +20 -0
  29. data/docs/reference/ruby-api.adoc +1217 -0
  30. data/docs/understanding/index.adoc +20 -0
  31. data/lib/ukiryu/cli.rb +43 -58
  32. data/lib/ukiryu/cli_commands/base_command.rb +16 -27
  33. data/lib/ukiryu/cli_commands/cache_command.rb +100 -0
  34. data/lib/ukiryu/cli_commands/commands_command.rb +8 -8
  35. data/lib/ukiryu/cli_commands/commands_command.rb.fixed +1 -1
  36. data/lib/ukiryu/cli_commands/config_command.rb +49 -7
  37. data/lib/ukiryu/cli_commands/definitions_command.rb +254 -0
  38. data/lib/ukiryu/cli_commands/describe_command.rb +13 -7
  39. data/lib/ukiryu/cli_commands/describe_command.rb.fixed +1 -1
  40. data/lib/ukiryu/cli_commands/docs_command.rb +148 -0
  41. data/lib/ukiryu/cli_commands/exec_inline_command.rb.fixed +1 -1
  42. data/lib/ukiryu/cli_commands/extract_command.rb +2 -2
  43. data/lib/ukiryu/cli_commands/info_command.rb +7 -7
  44. data/lib/ukiryu/cli_commands/lint_command.rb +167 -0
  45. data/lib/ukiryu/cli_commands/list_command.rb +6 -6
  46. data/lib/ukiryu/cli_commands/opts_command.rb +2 -2
  47. data/lib/ukiryu/cli_commands/opts_command.rb.fixed +1 -1
  48. data/lib/ukiryu/cli_commands/register_command.rb +144 -0
  49. data/lib/ukiryu/cli_commands/resolve_command.rb +124 -0
  50. data/lib/ukiryu/cli_commands/run_command.rb +38 -14
  51. data/lib/ukiryu/cli_commands/run_file_command.rb +2 -2
  52. data/lib/ukiryu/cli_commands/system_command.rb +50 -32
  53. data/lib/ukiryu/cli_commands/validate_command.rb +452 -51
  54. data/lib/ukiryu/cli_commands/which_command.rb +5 -5
  55. data/lib/ukiryu/command_builder.rb +81 -23
  56. data/lib/ukiryu/config/env_provider.rb +3 -3
  57. data/lib/ukiryu/config/env_schema.rb +6 -6
  58. data/lib/ukiryu/config.rb +11 -11
  59. data/lib/ukiryu/definition/definition_cache.rb +238 -0
  60. data/lib/ukiryu/definition/definition_composer.rb +257 -0
  61. data/lib/ukiryu/definition/definition_linter.rb +460 -0
  62. data/lib/ukiryu/definition/definition_validator.rb +320 -0
  63. data/lib/ukiryu/definition/discovery.rb +239 -0
  64. data/lib/ukiryu/definition/documentation_generator.rb +429 -0
  65. data/lib/ukiryu/definition/lint_issue.rb +168 -0
  66. data/lib/ukiryu/definition/loader.rb +139 -0
  67. data/lib/ukiryu/definition/metadata.rb +159 -0
  68. data/lib/ukiryu/definition/source.rb +87 -0
  69. data/lib/ukiryu/definition/sources/file.rb +138 -0
  70. data/lib/ukiryu/definition/sources/string.rb +88 -0
  71. data/lib/ukiryu/definition/validation_result.rb +158 -0
  72. data/lib/ukiryu/definition/version_resolver.rb +194 -0
  73. data/lib/ukiryu/definition.rb +40 -0
  74. data/lib/ukiryu/errors.rb +6 -0
  75. data/lib/ukiryu/execution_context.rb +11 -11
  76. data/lib/ukiryu/executor.rb +6 -0
  77. data/lib/ukiryu/extractors/extractor.rb +6 -5
  78. data/lib/ukiryu/extractors/help_parser.rb +13 -19
  79. data/lib/ukiryu/logger.rb +3 -1
  80. data/lib/ukiryu/models/command_definition.rb +3 -3
  81. data/lib/ukiryu/models/command_info.rb +1 -1
  82. data/lib/ukiryu/models/components.rb +1 -3
  83. data/lib/ukiryu/models/env_var_definition.rb +11 -3
  84. data/lib/ukiryu/models/flag_definition.rb +15 -0
  85. data/lib/ukiryu/models/option_definition.rb +7 -7
  86. data/lib/ukiryu/models/platform_profile.rb +6 -3
  87. data/lib/ukiryu/models/routing.rb +1 -1
  88. data/lib/ukiryu/models/tool_definition.rb +2 -4
  89. data/lib/ukiryu/models/tool_metadata.rb +6 -6
  90. data/lib/ukiryu/models/validation_result.rb +1 -1
  91. data/lib/ukiryu/models/version_compatibility.rb +6 -3
  92. data/lib/ukiryu/models/version_detection.rb +10 -1
  93. data/lib/ukiryu/{registry.rb → register.rb} +54 -38
  94. data/lib/ukiryu/register_auto_manager.rb +268 -0
  95. data/lib/ukiryu/schema_validator.rb +31 -10
  96. data/lib/ukiryu/shell/base.rb +18 -0
  97. data/lib/ukiryu/shell/bash.rb +19 -1
  98. data/lib/ukiryu/shell/cmd.rb +11 -1
  99. data/lib/ukiryu/shell/powershell.rb +11 -1
  100. data/lib/ukiryu/shell.rb +1 -1
  101. data/lib/ukiryu/tool.rb +107 -95
  102. data/lib/ukiryu/tool_index.rb +22 -22
  103. data/lib/ukiryu/tools/base.rb +12 -25
  104. data/lib/ukiryu/tools/generator.rb +7 -7
  105. data/lib/ukiryu/tools.rb +3 -3
  106. data/lib/ukiryu/type.rb +20 -5
  107. data/lib/ukiryu/version.rb +1 -1
  108. data/lib/ukiryu/version_detector.rb +21 -2
  109. data/lib/ukiryu.rb +6 -3
  110. data/ukiryu-proposal.md +41 -41
  111. data/ukiryu.gemspec +1 -0
  112. metadata +64 -8
  113. data/.gitmodules +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 557f4ab212f9d2398f4eb7a19cc4265dfec3e3a839728a6d43fadae7989572eb
4
- data.tar.gz: 3e8634d6c12b5bc32bce3521288e090e5c81d4e1084d735cc3828042651fce04
3
+ metadata.gz: '092e272dd1abe46958fdb31f6b4b0d12cd72bbf3b88d4c6c4119165faf210fe3'
4
+ data.tar.gz: 22b4c54e212f7c84bbf6dc69dd352c3d55137fa711f712241f2c5a5769366953
5
5
  SHA512:
6
- metadata.gz: 30f6cbe1d15d06d348869366168cabc65bf2c4ed18246a35ddf5cf6003504a713173c616704e43e2d9198470bab46f82e457078dbd88284138d2520e4c063048
7
- data.tar.gz: 9789fd0a0ea244cfede597d7afcadc0815fb50671278f25ff356e7e267240e5f366f31757840cc8fc5244c7c1f11fd5c20f3b72a9916bb75ed04eb8939aab0fc
6
+ metadata.gz: ac196302eda5c010de7849e693bba66a1a844bcbad125d21d4b95b6c97c7110f9c175b087b2820ae61f4d1a6cd951e90663ccbaaf90a189168ad77d900986552
7
+ data.tar.gz: 64a86f0d697b12742fbe4a9a9368c55cbbe743d37bbee6ae08f39d199d455f90efa1a43f801e61e303c516268268198a76ebf34cb3d9c5b95e1fd83a172bbe8f
@@ -2,26 +2,70 @@
2
2
  # See https://github.com/metanorma/cimas
3
3
  name: release
4
4
 
5
- permissions:
6
- contents: write
7
- packages: write
8
-
9
5
  on:
10
6
  workflow_dispatch:
11
7
  inputs:
12
- next_version:
13
- description: |
14
- Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
15
- Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
8
+ version_bump:
9
+ description: 'Type of version bump to apply'
16
10
  required: true
17
- default: 'skip'
11
+ type: choice
12
+ default: skip
13
+ options:
14
+ - skip
15
+ - major
16
+ - minor
17
+ - patch
18
+ - pre
19
+ - rc
20
+ custom_version:
21
+ description: 'Custom version string (overrides version_bump) - e.g. 2.5.0 or 2.5.0-beta.1'
22
+ required: false
23
+ type: string
18
24
  repository_dispatch:
19
25
  types: [ do-release ]
26
+ push:
27
+ tags:
28
+ - v*
20
29
 
21
30
  jobs:
22
31
  release:
23
- uses: relaton/support/.github/workflows/release.yml@main
24
- with:
25
- next_version: ${{ github.event.inputs.next_version }}
26
- secrets:
27
- rubygems-api-key: ${{ secrets.LUTAML_CI_RUBYGEMS_API_KEY }}
32
+ runs-on: ubuntu-latest
33
+ permissions:
34
+ contents: write
35
+ id-token: write
36
+ steps:
37
+ - uses: actions/checkout@v5
38
+ with:
39
+ submodules: true
40
+
41
+ - if: github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch'
42
+ run: git fetch --tags origin
43
+
44
+ - name: Set up Ruby
45
+ uses: ruby/setup-ruby@v1
46
+ with:
47
+ bundler-cache: true
48
+ ruby-version: ruby
49
+
50
+ - name: Configure Git
51
+ run: |
52
+ git config user.name github-actions
53
+ git config user.email github-actions@github.com
54
+
55
+ - name: Bump version and create tag
56
+ if: |
57
+ github.event_name == 'workflow_dispatch' &&
58
+ (
59
+ github.event.inputs.version_bump != 'skip' ||
60
+ github.event.inputs.custom_version != ''
61
+ )
62
+ run: |
63
+ gem install gem-release
64
+ if [ -n "${{ github.event.inputs.custom_version }}" ]; then
65
+ gem bump --version ${{ github.event.inputs.custom_version }} --tag --push
66
+ else
67
+ gem bump --version ${{ github.event.inputs.version_bump }} --tag --push
68
+ fi
69
+
70
+ - name: Release to RubyGems
71
+ uses: rubygems/release-gem@v1
data/.gitignore CHANGED
@@ -12,6 +12,9 @@
12
12
  .rubocop-https*
13
13
  Gemfile*.lock
14
14
 
15
+ # Gem build artifacts
16
+ *.gem
17
+
15
18
  # Temporary/planning files (not part of repository)
16
19
  *.md
17
20
  !README.adoc
data/.rubocop_todo.yml CHANGED
@@ -1,121 +1,190 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2026-01-22 06:58:04 UTC using RuboCop version 1.82.1.
3
+ # on 2026-01-24 12:25:55 UTC using RuboCop version 1.82.1.
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: 6
9
+ # Offense count: 2
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
12
+ Gemspec/OrderedDependencies:
13
+ Exclude:
14
+ - 'ukiryu.gemspec'
15
+
16
+ # Offense count: 1
10
17
  # This cop supports safe autocorrection (--autocorrect).
11
18
  # Configuration parameters: EnforcedStyle, IndentationWidth.
12
19
  # SupportedStyles: with_first_argument, with_fixed_indentation
13
20
  Layout/ArgumentAlignment:
14
21
  Exclude:
15
- - 'lib/ukiryu/executor.rb'
16
- - 'lib/ukiryu/shell.rb'
17
- - 'lib/ukiryu/type.rb'
22
+ - 'lib/ukiryu/logger.rb'
18
23
 
19
24
  # Offense count: 1
20
25
  # This cop supports safe autocorrection (--autocorrect).
21
- Layout/ElseAlignment:
26
+ # Configuration parameters: AllowForAlignment.
27
+ Layout/CommentIndentation:
22
28
  Exclude:
23
- - 'lib/ukiryu/tools/base.rb'
29
+ - 'lib/ukiryu/register_auto_manager.rb'
24
30
 
25
- # Offense count: 7
31
+ # Offense count: 1
26
32
  # This cop supports safe autocorrection (--autocorrect).
27
33
  Layout/EmptyLineAfterGuardClause:
28
34
  Exclude:
29
- - 'lib/ukiryu/models/command_definition.rb'
30
- - 'lib/ukiryu/models/platform_profile.rb'
35
+ - 'lib/ukiryu/cli_commands/validate_command.rb'
36
+
37
+ # Offense count: 1
38
+ # This cop supports safe autocorrection (--autocorrect).
39
+ # Configuration parameters: EnforcedStyle.
40
+ # SupportedStyles: around, only_before
41
+ Layout/EmptyLinesAroundAccessModifier:
42
+ Exclude:
43
+ - 'lib/ukiryu/tool.rb'
31
44
 
32
45
  # Offense count: 1
33
46
  # This cop supports safe autocorrection (--autocorrect).
34
- # Configuration parameters: EnforcedStyleAlignWith.
35
- # SupportedStylesAlignWith: keyword, variable, start_of_line
36
- Layout/EndAlignment:
47
+ # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
48
+ Layout/ExtraSpacing:
37
49
  Exclude:
38
- - 'lib/ukiryu/tools/base.rb'
50
+ - 'lib/ukiryu/tool.rb'
39
51
 
40
52
  # Offense count: 2
41
53
  # This cop supports safe autocorrection (--autocorrect).
42
- # Configuration parameters: Width, AllowedPatterns.
43
- Layout/IndentationWidth:
54
+ # Configuration parameters: EnforcedStyle.
55
+ # SupportedStyles: normal, indented_internal_methods
56
+ Layout/IndentationConsistency:
44
57
  Exclude:
45
- - 'lib/ukiryu/tools/base.rb'
58
+ - 'lib/ukiryu/register_auto_manager.rb'
46
59
 
47
- # Offense count: 6
60
+ # Offense count: 3
48
61
  # This cop supports safe autocorrection (--autocorrect).
49
62
  # Configuration parameters: AllowInHeredoc.
50
63
  Layout/TrailingWhitespace:
51
64
  Exclude:
52
- - 'lib/ukiryu/executor.rb'
53
- - 'lib/ukiryu/shell.rb'
54
- - 'lib/ukiryu/type.rb'
65
+ - 'lib/ukiryu/logger.rb'
66
+ - 'lib/ukiryu/register_auto_manager.rb'
55
67
 
56
- # Offense count: 2
68
+ # Offense count: 1
69
+ # Configuration parameters: AllowedMethods.
70
+ # AllowedMethods: enums
71
+ Lint/ConstantDefinitionInBlock:
72
+ Exclude:
73
+ - 'spec/ukiryu/definition/source_spec.rb'
74
+
75
+ # Offense count: 3
57
76
  Lint/DuplicateMethods:
58
77
  Exclude:
78
+ - 'lib/ukiryu/execution/result.rb'
59
79
  - 'lib/ukiryu/executor.rb'
80
+ - 'lib/ukiryu/models/tool_metadata.rb'
60
81
 
61
- # Offense count: 7
82
+ # Offense count: 9
62
83
  # Configuration parameters: AllowedParentClasses.
63
84
  Lint/MissingSuper:
64
85
  Exclude:
86
+ - 'lib/ukiryu/definition/sources/file.rb'
87
+ - 'lib/ukiryu/definition/sources/string.rb'
65
88
  - 'lib/ukiryu/validation/constraints.rb'
66
89
 
67
90
  # Offense count: 1
91
+ Lint/RescueException:
92
+ Exclude:
93
+ - 'lib/ukiryu/thor_ext.rb'
94
+
95
+ # Offense count: 2
96
+ Lint/ShadowedException:
97
+ Exclude:
98
+ - 'lib/ukiryu/definition/discovery.rb'
99
+ - 'lib/ukiryu/thor_ext.rb'
100
+
101
+ # Offense count: 1
102
+ # Configuration parameters: AllowedPatterns.
103
+ # AllowedPatterns: (?-mix:(exactly|at_least|at_most)\(\d+\)\.times)
104
+ Lint/UnreachableLoop:
105
+ Exclude:
106
+ - 'lib/ukiryu/cli_commands/validate_command.rb'
107
+
108
+ # Offense count: 2
68
109
  # This cop supports safe autocorrection (--autocorrect).
69
110
  # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
70
111
  # NotImplementedExceptions: NotImplementedError
71
112
  Lint/UnusedMethodArgument:
72
113
  Exclude:
73
- - 'lib/ukiryu/tool.rb'
114
+ - 'lib/ukiryu/cli_commands/register_command.rb'
115
+ - 'lib/ukiryu/definition/definition_validator.rb'
74
116
 
75
- # Offense count: 34
117
+ # Offense count: 1
118
+ # This cop supports safe autocorrection (--autocorrect).
119
+ Lint/UselessAssignment:
120
+ Exclude:
121
+ - 'lib/ukiryu/definition/definition_validator.rb'
122
+
123
+ # Offense count: 110
76
124
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
77
125
  Metrics/AbcSize:
78
- Max: 104
126
+ Max: 236
79
127
 
80
- # Offense count: 13
128
+ # Offense count: 130
81
129
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
82
130
  # AllowedMethods: refine
83
131
  Metrics/BlockLength:
84
132
  Max: 352
85
133
 
86
- # Offense count: 8
134
+ # Offense count: 2
135
+ # Configuration parameters: CountBlocks, CountModifierForms.
136
+ Metrics/BlockNesting:
137
+ Max: 4
138
+
139
+ # Offense count: 27
87
140
  # Configuration parameters: CountComments, CountAsOne.
88
141
  Metrics/ClassLength:
89
- Max: 401
142
+ Max: 419
90
143
 
91
- # Offense count: 29
144
+ # Offense count: 84
92
145
  # Configuration parameters: AllowedMethods, AllowedPatterns.
93
146
  Metrics/CyclomaticComplexity:
94
- Max: 42
147
+ Max: 84
95
148
 
96
- # Offense count: 55
149
+ # Offense count: 171
97
150
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
98
151
  Metrics/MethodLength:
99
- Max: 71
152
+ Max: 141
100
153
 
101
- # Offense count: 4
154
+ # Offense count: 6
102
155
  # Configuration parameters: CountComments, CountAsOne.
103
156
  Metrics/ModuleLength:
104
- Max: 232
157
+ Max: 177
158
+
159
+ # Offense count: 4
160
+ # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
161
+ Metrics/ParameterLists:
162
+ Max: 10
105
163
 
106
- # Offense count: 23
164
+ # Offense count: 69
107
165
  # Configuration parameters: AllowedMethods, AllowedPatterns.
108
166
  Metrics/PerceivedComplexity:
109
- Max: 43
167
+ Max: 84
110
168
 
111
- # Offense count: 1
169
+ # Offense count: 3
170
+ Naming/AccessorMethodName:
171
+ Exclude:
172
+ - 'lib/ukiryu/definition/sources/file.rb'
173
+ - 'lib/ukiryu/logger.rb'
174
+ - 'lib/ukiryu/models/execution_report.rb'
175
+
176
+ # Offense count: 8
112
177
  # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
113
178
  # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
114
179
  Naming/MethodParameterName:
115
180
  Exclude:
181
+ - 'lib/ukiryu/definition/metadata.rb'
182
+ - 'lib/ukiryu/definition/version_resolver.rb'
183
+ - 'lib/ukiryu/execution_context.rb'
184
+ - 'lib/ukiryu/models/version_compatibility.rb'
116
185
  - 'lib/ukiryu/runtime.rb'
117
186
 
118
- # Offense count: 1
187
+ # Offense count: 7
119
188
  # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs.
120
189
  # NamePrefix: is_, has_, have_, does_
121
190
  # ForbiddenPrefixes: is_, has_, have_, does_
@@ -124,88 +193,110 @@ Naming/MethodParameterName:
124
193
  Naming/PredicatePrefix:
125
194
  Exclude:
126
195
  - 'spec/**/*'
196
+ - 'lib/ukiryu/definition/definition_linter.rb'
197
+ - 'lib/ukiryu/definition/lint_issue.rb'
198
+ - 'lib/ukiryu/definition/validation_result.rb'
127
199
  - 'lib/ukiryu/models/command_definition.rb'
128
200
 
129
201
  # Offense count: 1
130
- # This cop supports unsafe autocorrection (--autocorrect-all).
131
- Style/CombinableLoops:
202
+ Security/Open:
132
203
  Exclude:
133
- - 'lib/ukiryu/tools/base.rb'
204
+ - 'lib/ukiryu/definition/definition_validator.rb'
134
205
 
135
- # Offense count: 4
206
+ # Offense count: 6
136
207
  # Configuration parameters: AllowedConstants.
137
208
  Style/Documentation:
138
209
  Exclude:
139
210
  - 'spec/**/*'
140
211
  - 'test/**/*'
141
212
  - 'lib/ukiryu.rb'
213
+ - 'lib/ukiryu/execution_context.rb'
142
214
  - 'lib/ukiryu/io.rb'
143
215
  - 'lib/ukiryu/models.rb'
216
+ - 'lib/ukiryu/models/tool_metadata.rb'
144
217
 
145
- # Offense count: 8
218
+ # Offense count: 2
219
+ # This cop supports safe autocorrection (--autocorrect).
220
+ # Configuration parameters: EnforcedStyle, AllowComments.
221
+ # SupportedStyles: empty, nil, both
222
+ Style/EmptyElse:
223
+ Exclude:
224
+ - 'lib/ukiryu/definition/definition_cache.rb'
225
+ - 'lib/ukiryu/definition/definition_validator.rb'
226
+
227
+ # Offense count: 1
228
+ # This cop supports safe autocorrection (--autocorrect).
229
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
230
+ Style/GuardClause:
231
+ Exclude:
232
+ - 'lib/ukiryu/register_auto_manager.rb'
233
+
234
+ # Offense count: 10
146
235
  # This cop supports unsafe autocorrection (--autocorrect-all).
147
236
  Style/IdenticalConditionalBranches:
148
237
  Exclude:
149
238
  - 'lib/ukiryu/command_builder.rb'
150
- - 'lib/ukiryu/options_builder.rb'
239
+ - 'lib/ukiryu/options_builder/formatter.rb'
240
+ - 'lib/ukiryu/options_builder/validator.rb'
241
+ - 'lib/ukiryu/register_auto_manager.rb'
151
242
  - 'lib/ukiryu/validation/validator.rb'
152
243
 
153
- # Offense count: 7
244
+ # Offense count: 12
154
245
  # This cop supports safe autocorrection (--autocorrect).
155
246
  Style/IfUnlessModifier:
156
247
  Exclude:
157
- - 'lib/ukiryu/options_builder.rb'
158
- - 'lib/ukiryu/type.rb'
159
- - 'test_inkscape.rb'
248
+ - 'lib/ukiryu/cli_commands/describe_command.rb'
249
+ - 'lib/ukiryu/cli_commands/register_command.rb'
250
+ - 'lib/ukiryu/cli_commands/validate_command.rb'
251
+ - 'lib/ukiryu/definition/definition_validator.rb'
252
+ - 'lib/ukiryu/register_auto_manager.rb'
160
253
 
161
- # Offense count: 4
254
+ # Offense count: 3
162
255
  Style/MultilineBlockChain:
163
256
  Exclude:
164
257
  - 'lib/ukiryu/options_builder.rb'
165
- - 'lib/ukiryu/registry.rb'
258
+ - 'lib/ukiryu/register.rb'
166
259
  - 'spec/ukiryu/schema_validator_spec.rb'
167
260
 
168
- # Offense count: 10
169
- # This cop supports safe autocorrection (--autocorrect).
170
- Style/MultilineIfModifier:
171
- Exclude:
172
- - 'lib/ukiryu/executor.rb'
173
- - 'lib/ukiryu/shell.rb'
174
- - 'lib/ukiryu/type.rb'
175
-
176
261
  # Offense count: 1
177
262
  # This cop supports safe autocorrection (--autocorrect).
178
- # Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
179
- Style/MultipleComparison:
263
+ # Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals.
264
+ # SupportedStyles: skip_modifier_ifs, always
265
+ Style/Next:
180
266
  Exclude:
181
- - 'lib/ukiryu/tools/base.rb'
267
+ - 'lib/ukiryu/cli_commands/validate_command.rb'
182
268
 
183
- # Offense count: 19
184
- # This cop supports safe autocorrection (--autocorrect).
185
- # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
186
- # SupportedStyles: single_quotes, double_quotes
187
- Style/StringLiterals:
269
+ # Offense count: 1
270
+ # Configuration parameters: AllowedMethods.
271
+ # AllowedMethods: respond_to_missing?
272
+ Style/OptionalBooleanParameter:
188
273
  Exclude:
189
- - 'lib/ukiryu/io.rb'
190
- - 'test_inkscape.rb'
274
+ - 'lib/ukiryu/logger.rb'
191
275
 
192
276
  # Offense count: 2
193
277
  # This cop supports safe autocorrection (--autocorrect).
194
- # Configuration parameters: .
195
- # SupportedStyles: percent, brackets
196
- Style/SymbolArray:
197
- EnforcedStyle: percent
198
- MinSize: 5
278
+ Style/RedundantFreeze:
279
+ Exclude:
280
+ - 'lib/ukiryu/register_auto_manager.rb'
199
281
 
200
282
  # Offense count: 2
201
283
  # This cop supports unsafe autocorrection (--autocorrect-all).
202
- # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
203
- # AllowedMethods: define_method
204
- Style/SymbolProc:
284
+ Style/SlicingWithRange:
205
285
  Exclude:
206
- - 'lib/ukiryu/command_builder.rb'
286
+ - 'lib/ukiryu/tool.rb'
287
+ - 'lib/ukiryu/version_detector.rb'
288
+
289
+ # Offense count: 6
290
+ # This cop supports safe autocorrection (--autocorrect).
291
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
292
+ # SupportedStyles: single_quotes, double_quotes
293
+ Style/StringLiterals:
294
+ Exclude:
295
+ - 'lib/ukiryu/cli_commands/register_command.rb'
296
+ - 'lib/ukiryu/cli_commands/validate_command.rb'
297
+ - 'lib/ukiryu/register_auto_manager.rb'
207
298
 
208
- # Offense count: 11
299
+ # Offense count: 27
209
300
  # This cop supports safe autocorrection (--autocorrect).
210
301
  # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
211
302
  # URISchemes: http, https
data/Gemfile CHANGED
@@ -16,6 +16,6 @@ gem 'rubocop-rspec'
16
16
  # Optional colored output for debug logging
17
17
  gem 'paint'
18
18
 
19
- # For optional YAML schema validation in registry
19
+ # For optional YAML schema validation in register
20
20
  gem 'bigdecimal'
21
21
  gem 'json-schema', '~> 4.0'