ukiryu 0.1.0 → 0.1.1

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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +63 -0
  3. data/.github/workflows/links.yml +99 -0
  4. data/.github/workflows/rake.yml +19 -0
  5. data/.github/workflows/release.yml +27 -0
  6. data/.gitignore +18 -4
  7. data/.rubocop.yml +1 -0
  8. data/.rubocop_todo.yml +213 -0
  9. data/Gemfile +12 -8
  10. data/README.adoc +613 -0
  11. data/Rakefile +2 -2
  12. data/docs/assets/logo.svg +1 -0
  13. data/exe/ukiryu +11 -0
  14. data/lib/ukiryu/action/base.rb +77 -0
  15. data/lib/ukiryu/cache.rb +199 -0
  16. data/lib/ukiryu/cli.rb +133 -307
  17. data/lib/ukiryu/cli_commands/base_command.rb +155 -0
  18. data/lib/ukiryu/cli_commands/commands_command.rb +120 -0
  19. data/lib/ukiryu/cli_commands/commands_command.rb.fixed +40 -0
  20. data/lib/ukiryu/cli_commands/config_command.rb +249 -0
  21. data/lib/ukiryu/cli_commands/describe_command.rb +326 -0
  22. data/lib/ukiryu/cli_commands/describe_command.rb.fixed +254 -0
  23. data/lib/ukiryu/cli_commands/exec_inline_command.rb.fixed +180 -0
  24. data/lib/ukiryu/cli_commands/extract_command.rb +84 -0
  25. data/lib/ukiryu/cli_commands/info_command.rb +156 -0
  26. data/lib/ukiryu/cli_commands/list_command.rb +70 -0
  27. data/lib/ukiryu/cli_commands/opts_command.rb +106 -0
  28. data/lib/ukiryu/cli_commands/opts_command.rb.fixed +105 -0
  29. data/lib/ukiryu/cli_commands/response_formatter.rb +240 -0
  30. data/lib/ukiryu/cli_commands/run_command.rb +375 -0
  31. data/lib/ukiryu/cli_commands/run_file_command.rb +215 -0
  32. data/lib/ukiryu/cli_commands/system_command.rb +90 -0
  33. data/lib/ukiryu/cli_commands/validate_command.rb +87 -0
  34. data/lib/ukiryu/cli_commands/version_command.rb +16 -0
  35. data/lib/ukiryu/cli_commands/which_command.rb +166 -0
  36. data/lib/ukiryu/command_builder.rb +205 -0
  37. data/lib/ukiryu/config/env_provider.rb +64 -0
  38. data/lib/ukiryu/config/env_schema.rb +63 -0
  39. data/lib/ukiryu/config/override_resolver.rb +68 -0
  40. data/lib/ukiryu/config/type_converter.rb +59 -0
  41. data/lib/ukiryu/config.rb +249 -0
  42. data/lib/ukiryu/errors.rb +3 -0
  43. data/lib/ukiryu/executable_locator.rb +114 -0
  44. data/lib/ukiryu/execution/command_info.rb +64 -0
  45. data/lib/ukiryu/execution/metadata.rb +97 -0
  46. data/lib/ukiryu/execution/output.rb +144 -0
  47. data/lib/ukiryu/execution/result.rb +194 -0
  48. data/lib/ukiryu/execution.rb +15 -0
  49. data/lib/ukiryu/execution_context.rb +251 -0
  50. data/lib/ukiryu/executor.rb +76 -493
  51. data/lib/ukiryu/extractors/base_extractor.rb +63 -0
  52. data/lib/ukiryu/extractors/extractor.rb +150 -0
  53. data/lib/ukiryu/extractors/help_parser.rb +188 -0
  54. data/lib/ukiryu/extractors/native_extractor.rb +47 -0
  55. data/lib/ukiryu/io.rb +196 -0
  56. data/lib/ukiryu/logger.rb +544 -0
  57. data/lib/ukiryu/models/argument.rb +28 -0
  58. data/lib/ukiryu/models/argument_definition.rb +119 -0
  59. data/lib/ukiryu/models/arguments.rb +113 -0
  60. data/lib/ukiryu/models/command_definition.rb +176 -0
  61. data/lib/ukiryu/models/command_info.rb +37 -0
  62. data/lib/ukiryu/models/components.rb +107 -0
  63. data/lib/ukiryu/models/env_var_definition.rb +30 -0
  64. data/lib/ukiryu/models/error_response.rb +41 -0
  65. data/lib/ukiryu/models/execution_metadata.rb +31 -0
  66. data/lib/ukiryu/models/execution_report.rb +236 -0
  67. data/lib/ukiryu/models/exit_codes.rb +74 -0
  68. data/lib/ukiryu/models/flag_definition.rb +67 -0
  69. data/lib/ukiryu/models/option_definition.rb +102 -0
  70. data/lib/ukiryu/models/output_info.rb +25 -0
  71. data/lib/ukiryu/models/platform_profile.rb +153 -0
  72. data/lib/ukiryu/models/routing.rb +211 -0
  73. data/lib/ukiryu/models/search_paths.rb +39 -0
  74. data/lib/ukiryu/models/success_response.rb +85 -0
  75. data/lib/ukiryu/models/tool_definition.rb +145 -0
  76. data/lib/ukiryu/models/tool_metadata.rb +82 -0
  77. data/lib/ukiryu/models/validation_result.rb +80 -0
  78. data/lib/ukiryu/models/version_compatibility.rb +152 -0
  79. data/lib/ukiryu/models/version_detection.rb +39 -0
  80. data/lib/ukiryu/models.rb +23 -0
  81. data/lib/ukiryu/options/base.rb +95 -0
  82. data/lib/ukiryu/options_builder/formatter.rb +87 -0
  83. data/lib/ukiryu/options_builder/validator.rb +43 -0
  84. data/lib/ukiryu/options_builder.rb +311 -0
  85. data/lib/ukiryu/platform.rb +6 -6
  86. data/lib/ukiryu/registry.rb +143 -183
  87. data/lib/ukiryu/response/base.rb +217 -0
  88. data/lib/ukiryu/runtime.rb +179 -0
  89. data/lib/ukiryu/schema_validator.rb +8 -10
  90. data/lib/ukiryu/shell/bash.rb +3 -3
  91. data/lib/ukiryu/shell/cmd.rb +4 -4
  92. data/lib/ukiryu/shell/fish.rb +1 -1
  93. data/lib/ukiryu/shell/powershell.rb +3 -3
  94. data/lib/ukiryu/shell/sh.rb +1 -1
  95. data/lib/ukiryu/shell/zsh.rb +1 -1
  96. data/lib/ukiryu/shell.rb +146 -39
  97. data/lib/ukiryu/thor_ext.rb +208 -0
  98. data/lib/ukiryu/tool.rb +649 -258
  99. data/lib/ukiryu/tool_index.rb +224 -0
  100. data/lib/ukiryu/tools/base.rb +381 -0
  101. data/lib/ukiryu/tools/class_generator.rb +132 -0
  102. data/lib/ukiryu/tools/executable_finder.rb +29 -0
  103. data/lib/ukiryu/tools/generator.rb +154 -0
  104. data/lib/ukiryu/tools.rb +109 -0
  105. data/lib/ukiryu/type.rb +28 -43
  106. data/lib/ukiryu/validation/constraints.rb +281 -0
  107. data/lib/ukiryu/validation/validator.rb +188 -0
  108. data/lib/ukiryu/validation.rb +21 -0
  109. data/lib/ukiryu/version.rb +1 -1
  110. data/lib/ukiryu/version_detector.rb +51 -0
  111. data/lib/ukiryu.rb +31 -15
  112. data/ukiryu-proposal.md +2952 -0
  113. data/ukiryu.gemspec +18 -14
  114. metadata +137 -5
  115. data/.github/workflows/test.yml +0 -143
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a829b8c3437032c87c7dc360fec0aacd18a2ce7fe627b82defbb972e00047c2
4
- data.tar.gz: 811407bd87c8e7665e78a970506d1591584a8a51ff95d6426333dd57b0749339
3
+ metadata.gz: 557f4ab212f9d2398f4eb7a19cc4265dfec3e3a839728a6d43fadae7989572eb
4
+ data.tar.gz: 3e8634d6c12b5bc32bce3521288e090e5c81d4e1084d735cc3828042651fce04
5
5
  SHA512:
6
- metadata.gz: 03a7575c15d808461881baebe51ffaca79f868f93ef4e073e026ab2385f88a0540e20168bcfe2299edcec0a68a7e0a5074cd01f60aaee786267665eb56a568cd
7
- data.tar.gz: 15d32df885540d695c0a439acc03e4c1d144056ca5f7fa481c12934237b61350bab4b2e83c2ee4f184c3bb1f9dd905a3085d283b81f625cf4073cbc4d520f488
6
+ metadata.gz: 30f6cbe1d15d06d348869366168cabc65bf2c4ed18246a35ddf5cf6003504a713173c616704e43e2d9198470bab46f82e457078dbd88284138d2520e4c063048
7
+ data.tar.gz: 9789fd0a0ea244cfede597d7afcadc0815fb50671278f25ff356e7e267240e5f366f31757840cc8fc5244c7c1f11fd5c20f3b72a9916bb75ed04eb8939aab0fc
@@ -0,0 +1,63 @@
1
+ name: docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - 'docs/**'
8
+ pull_request:
9
+ paths:
10
+ - 'docs/**'
11
+ repository_dispatch:
12
+ workflow_dispatch:
13
+
14
+ permissions:
15
+ contents: read
16
+ pages: write
17
+ id-token: write
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: false
22
+
23
+ jobs:
24
+ build:
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - name: Checkout
28
+ uses: actions/checkout@v6
29
+
30
+ - name: Setup Ruby
31
+ uses: ruby/setup-ruby@v1
32
+ with:
33
+ ruby-version: '3.3'
34
+ bundler-cache: true
35
+ cache-version: 0
36
+ working-directory: docs
37
+
38
+ - name: Setup Pages
39
+ id: pages
40
+ uses: actions/configure-pages@v5
41
+
42
+ - name: Build with Jekyll
43
+ run: bundle exec jekyll build --verbose --trace --baseurl "${{ steps.pages.outputs.base_path }}"
44
+ working-directory: docs
45
+ env:
46
+ JEKYLL_ENV: production
47
+
48
+ - name: Upload artifact
49
+ uses: actions/upload-pages-artifact@v4
50
+ with:
51
+ path: docs/_site
52
+
53
+ deploy:
54
+ environment:
55
+ name: github-pages
56
+ url: ${{ steps.deployment.outputs.page_url }}
57
+ if: ${{ github.ref == 'refs/heads/main' }}
58
+ runs-on: ubuntu-latest
59
+ needs: build
60
+ steps:
61
+ - name: Deploy to GitHub Pages
62
+ id: deployment
63
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,99 @@
1
+ name: links
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - 'docs/**'
9
+ pull_request:
10
+ paths:
11
+ - 'docs/**'
12
+
13
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14
+ permissions:
15
+ contents: read
16
+ pull-requests: write
17
+
18
+ jobs:
19
+ link_checker:
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v6
23
+
24
+ - uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: '3.4'
27
+ bundler-cache: true
28
+ working-directory: docs
29
+
30
+ - name: Build site
31
+ env:
32
+ JEKYLL_ENV: production
33
+ run: bundle exec jekyll build --trace
34
+ working-directory: docs
35
+
36
+ - name: Restore lychee cache
37
+ uses: actions/cache@v4
38
+ with:
39
+ path: .lycheecache
40
+ key: cache-lychee-${{ github.sha }}
41
+ restore-keys: cache-lychee-
42
+
43
+ - name: Check if site was built
44
+ run: |
45
+ if [ ! -d "_site" ]; then
46
+ echo "Error: _site directory not created"
47
+ exit 1
48
+ fi
49
+ echo "Site built successfully"
50
+ ls -la _site/
51
+ working-directory: docs
52
+
53
+ - name: Link Checker (Built Site)
54
+ uses: lycheeverse/lychee-action@v2
55
+ with:
56
+ # Check the built HTML site for rendered links
57
+ # Only check https and http schemes, exclude file:// due to path resolution issues
58
+ args: >-
59
+ --verbose
60
+ --no-progress
61
+ --config lychee.toml
62
+ --root-dir "$(pwd)/_site"
63
+ --scheme https,http
64
+ '_site/**/*.html'
65
+ fail: true
66
+ output: link-check-results.md
67
+ format: markdown
68
+ workingDirectory: docs
69
+
70
+ - name: Upload link check results
71
+ if: always()
72
+ uses: actions/upload-artifact@v4
73
+ with:
74
+ name: link-check-results
75
+ path: |
76
+ docs/link-check-results.md
77
+ retention-days: 30
78
+
79
+ - name: Comment PR with results
80
+ if: failure() && github.event_name == 'pull_request'
81
+ uses: actions/github-script@v7
82
+ with:
83
+ script: |
84
+ const fs = require('fs');
85
+ let comment = '## 🔗 Link Check Failed\n\n';
86
+
87
+ if (fs.existsSync('docs/link-check-results.md')) {
88
+ const results = fs.readFileSync('docs/link-check-results.md', 'utf8');
89
+ comment += '### Built Site Results\n\n' + results + '\n\n';
90
+ }
91
+
92
+ comment += '\n---\n\n*Please fix the broken links and push a new commit.*';
93
+
94
+ github.rest.issues.createComment({
95
+ issue_number: context.issue.number,
96
+ owner: context.repo.owner,
97
+ repo: context.repo.repo,
98
+ body: comment
99
+ });
@@ -0,0 +1,19 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ permissions:
6
+ contents: write
7
+ packages: write
8
+
9
+ on:
10
+ push:
11
+ branches: [ master, main ]
12
+ tags: [ v* ]
13
+ pull_request:
14
+
15
+ jobs:
16
+ rake:
17
+ uses: metanorma/ci/.github/workflows/generic-rake.yml@main
18
+ secrets:
19
+ pat_token: ${{ secrets.LUTAML_CI_PAT_TOKEN }}
@@ -0,0 +1,27 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: release
4
+
5
+ permissions:
6
+ contents: write
7
+ packages: write
8
+
9
+ on:
10
+ workflow_dispatch:
11
+ 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
16
+ required: true
17
+ default: 'skip'
18
+ repository_dispatch:
19
+ types: [ do-release ]
20
+
21
+ jobs:
22
+ 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 }}
data/.gitignore CHANGED
@@ -1,8 +1,22 @@
1
1
  /.bundle/
2
- Gemfile.lock
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
3
11
  .rspec_status
4
- .rubocop-*
12
+ .rubocop-https*
13
+ Gemfile*.lock
5
14
 
6
- .sass-cache
15
+ # Temporary/planning files (not part of repository)
16
+ *.md
17
+ !README.adoc
18
+ !CODE_OF_CONDUCT.md
19
+ /debug_*.rb
20
+ !lib/canon/diff_formatter/debug_output.rb
21
+ .rubocop-https*
7
22
  _site
8
- *.gem
data/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: .rubocop_todo.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,213 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2026-01-22 06:58:04 UTC using RuboCop version 1.82.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 6
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
12
+ # SupportedStyles: with_first_argument, with_fixed_indentation
13
+ Layout/ArgumentAlignment:
14
+ Exclude:
15
+ - 'lib/ukiryu/executor.rb'
16
+ - 'lib/ukiryu/shell.rb'
17
+ - 'lib/ukiryu/type.rb'
18
+
19
+ # Offense count: 1
20
+ # This cop supports safe autocorrection (--autocorrect).
21
+ Layout/ElseAlignment:
22
+ Exclude:
23
+ - 'lib/ukiryu/tools/base.rb'
24
+
25
+ # Offense count: 7
26
+ # This cop supports safe autocorrection (--autocorrect).
27
+ Layout/EmptyLineAfterGuardClause:
28
+ Exclude:
29
+ - 'lib/ukiryu/models/command_definition.rb'
30
+ - 'lib/ukiryu/models/platform_profile.rb'
31
+
32
+ # Offense count: 1
33
+ # This cop supports safe autocorrection (--autocorrect).
34
+ # Configuration parameters: EnforcedStyleAlignWith.
35
+ # SupportedStylesAlignWith: keyword, variable, start_of_line
36
+ Layout/EndAlignment:
37
+ Exclude:
38
+ - 'lib/ukiryu/tools/base.rb'
39
+
40
+ # Offense count: 2
41
+ # This cop supports safe autocorrection (--autocorrect).
42
+ # Configuration parameters: Width, AllowedPatterns.
43
+ Layout/IndentationWidth:
44
+ Exclude:
45
+ - 'lib/ukiryu/tools/base.rb'
46
+
47
+ # Offense count: 6
48
+ # This cop supports safe autocorrection (--autocorrect).
49
+ # Configuration parameters: AllowInHeredoc.
50
+ Layout/TrailingWhitespace:
51
+ Exclude:
52
+ - 'lib/ukiryu/executor.rb'
53
+ - 'lib/ukiryu/shell.rb'
54
+ - 'lib/ukiryu/type.rb'
55
+
56
+ # Offense count: 2
57
+ Lint/DuplicateMethods:
58
+ Exclude:
59
+ - 'lib/ukiryu/executor.rb'
60
+
61
+ # Offense count: 7
62
+ # Configuration parameters: AllowedParentClasses.
63
+ Lint/MissingSuper:
64
+ Exclude:
65
+ - 'lib/ukiryu/validation/constraints.rb'
66
+
67
+ # Offense count: 1
68
+ # This cop supports safe autocorrection (--autocorrect).
69
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
70
+ # NotImplementedExceptions: NotImplementedError
71
+ Lint/UnusedMethodArgument:
72
+ Exclude:
73
+ - 'lib/ukiryu/tool.rb'
74
+
75
+ # Offense count: 34
76
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
77
+ Metrics/AbcSize:
78
+ Max: 104
79
+
80
+ # Offense count: 13
81
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
82
+ # AllowedMethods: refine
83
+ Metrics/BlockLength:
84
+ Max: 352
85
+
86
+ # Offense count: 8
87
+ # Configuration parameters: CountComments, CountAsOne.
88
+ Metrics/ClassLength:
89
+ Max: 401
90
+
91
+ # Offense count: 29
92
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
93
+ Metrics/CyclomaticComplexity:
94
+ Max: 42
95
+
96
+ # Offense count: 55
97
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
98
+ Metrics/MethodLength:
99
+ Max: 71
100
+
101
+ # Offense count: 4
102
+ # Configuration parameters: CountComments, CountAsOne.
103
+ Metrics/ModuleLength:
104
+ Max: 232
105
+
106
+ # Offense count: 23
107
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
108
+ Metrics/PerceivedComplexity:
109
+ Max: 43
110
+
111
+ # Offense count: 1
112
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
113
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
114
+ Naming/MethodParameterName:
115
+ Exclude:
116
+ - 'lib/ukiryu/runtime.rb'
117
+
118
+ # Offense count: 1
119
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs.
120
+ # NamePrefix: is_, has_, have_, does_
121
+ # ForbiddenPrefixes: is_, has_, have_, does_
122
+ # AllowedMethods: is_a?
123
+ # MethodDefinitionMacros: define_method, define_singleton_method
124
+ Naming/PredicatePrefix:
125
+ Exclude:
126
+ - 'spec/**/*'
127
+ - 'lib/ukiryu/models/command_definition.rb'
128
+
129
+ # Offense count: 1
130
+ # This cop supports unsafe autocorrection (--autocorrect-all).
131
+ Style/CombinableLoops:
132
+ Exclude:
133
+ - 'lib/ukiryu/tools/base.rb'
134
+
135
+ # Offense count: 4
136
+ # Configuration parameters: AllowedConstants.
137
+ Style/Documentation:
138
+ Exclude:
139
+ - 'spec/**/*'
140
+ - 'test/**/*'
141
+ - 'lib/ukiryu.rb'
142
+ - 'lib/ukiryu/io.rb'
143
+ - 'lib/ukiryu/models.rb'
144
+
145
+ # Offense count: 8
146
+ # This cop supports unsafe autocorrection (--autocorrect-all).
147
+ Style/IdenticalConditionalBranches:
148
+ Exclude:
149
+ - 'lib/ukiryu/command_builder.rb'
150
+ - 'lib/ukiryu/options_builder.rb'
151
+ - 'lib/ukiryu/validation/validator.rb'
152
+
153
+ # Offense count: 7
154
+ # This cop supports safe autocorrection (--autocorrect).
155
+ Style/IfUnlessModifier:
156
+ Exclude:
157
+ - 'lib/ukiryu/options_builder.rb'
158
+ - 'lib/ukiryu/type.rb'
159
+ - 'test_inkscape.rb'
160
+
161
+ # Offense count: 4
162
+ Style/MultilineBlockChain:
163
+ Exclude:
164
+ - 'lib/ukiryu/options_builder.rb'
165
+ - 'lib/ukiryu/registry.rb'
166
+ - 'spec/ukiryu/schema_validator_spec.rb'
167
+
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
+ # Offense count: 1
177
+ # This cop supports safe autocorrection (--autocorrect).
178
+ # Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
179
+ Style/MultipleComparison:
180
+ Exclude:
181
+ - 'lib/ukiryu/tools/base.rb'
182
+
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:
188
+ Exclude:
189
+ - 'lib/ukiryu/io.rb'
190
+ - 'test_inkscape.rb'
191
+
192
+ # Offense count: 2
193
+ # This cop supports safe autocorrection (--autocorrect).
194
+ # Configuration parameters: .
195
+ # SupportedStyles: percent, brackets
196
+ Style/SymbolArray:
197
+ EnforcedStyle: percent
198
+ MinSize: 5
199
+
200
+ # Offense count: 2
201
+ # This cop supports unsafe autocorrection (--autocorrect-all).
202
+ # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
203
+ # AllowedMethods: define_method
204
+ Style/SymbolProc:
205
+ Exclude:
206
+ - 'lib/ukiryu/command_builder.rb'
207
+
208
+ # Offense count: 11
209
+ # This cop supports safe autocorrection (--autocorrect).
210
+ # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
211
+ # URISchemes: http, https
212
+ Layout/LineLength:
213
+ Max: 517
data/Gemfile CHANGED
@@ -1,17 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source "https://rubygems.org"
3
+ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in ukiryu.gemspec
6
6
  gemspec
7
7
 
8
8
  # Development dependencies
9
- gem "rake"
10
- gem "rspec"
11
- gem "rubocop"
12
- gem "rubocop-performance"
13
- gem "rubocop-rake"
14
- gem "rubocop-rspec"
9
+ gem 'rake'
10
+ gem 'rspec'
11
+ gem 'rubocop'
12
+ gem 'rubocop-performance'
13
+ gem 'rubocop-rake'
14
+ gem 'rubocop-rspec'
15
+
16
+ # Optional colored output for debug logging
17
+ gem 'paint'
15
18
 
16
19
  # For optional YAML schema validation in registry
17
- gem "json-schema", "~> 3.0"
20
+ gem 'bigdecimal'
21
+ gem 'json-schema', '~> 4.0'