natra 0.0.7 → 2.0.0

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +17 -0
  3. data/.github/workflows/ci.yml +50 -0
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +26 -0
  6. data/.ruby-version +1 -0
  7. data/CHANGELOG.md +58 -0
  8. data/CODE_OF_CONDUCT.md +0 -0
  9. data/Gemfile +12 -6
  10. data/Gemfile.lock +157 -116
  11. data/Guardfile +7 -5
  12. data/LICENSE.txt +0 -0
  13. data/README.md +138 -32
  14. data/Rakefile +4 -2
  15. data/bin/console +2 -0
  16. data/bin/natra +5 -3
  17. data/lib/extensions/string.rb +15 -11
  18. data/lib/natra/cli.rb +7 -2
  19. data/lib/natra/generators/app/app_generator.rb +32 -19
  20. data/lib/natra/generators/app/templates/Dockerfile +28 -10
  21. data/lib/natra/generators/app/templates/Gemfile +26 -20
  22. data/lib/natra/generators/app/templates/Guardfile +2 -0
  23. data/lib/natra/generators/app/templates/README.md +29 -30
  24. data/lib/natra/generators/app/templates/Rakefile +3 -2
  25. data/lib/natra/generators/app/templates/app/controllers/application_controller.rb +2 -0
  26. data/lib/natra/generators/app/templates/app/views/welcome.erb +2 -1
  27. data/lib/natra/generators/app/templates/bin/setup +4 -4
  28. data/lib/natra/generators/app/templates/config/database.yml +6 -6
  29. data/lib/natra/generators/app/templates/config/environment.rb +4 -5
  30. data/lib/natra/generators/app/templates/config/initializers/oj.rb +5 -4
  31. data/lib/natra/generators/app/templates/config/initializers/redis.rb +5 -3
  32. data/lib/natra/generators/app/templates/config/puma.rb +11 -5
  33. data/lib/natra/generators/app/templates/config.ru +2 -0
  34. data/lib/natra/generators/app/templates/db/migrate/add_extensions.rb +3 -1
  35. data/lib/natra/generators/app/templates/docker-compose.yml +3 -5
  36. data/lib/natra/generators/app/templates/rubocop.yml +8 -11
  37. data/lib/natra/generators/app/templates/spec/application_controller_spec.rb +2 -0
  38. data/lib/natra/generators/app/templates/spec/spec_helper.rb +10 -9
  39. data/lib/natra/generators/controller/controller_generator.rb +4 -0
  40. data/lib/natra/generators/model/migration.rb.erb +1 -1
  41. data/lib/natra/generators/model/model_generator.rb +8 -2
  42. data/lib/natra/generators/scaffold/scaffold_generator.rb +3 -0
  43. data/lib/natra/generators/service/service_generator.rb +31 -0
  44. data/lib/natra/generators/service/template/service.rb.erb +11 -0
  45. data/lib/natra/version.rb +3 -1
  46. data/lib/natra.rb +4 -0
  47. data/natra.gemspec +14 -11
  48. metadata +35 -39
  49. data/.coveralls.yml +0 -2
  50. data/.travis.yml +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 658b9672e1386eed1e00db2574dc861a51f2da3d1c588e40e0a36c1ba21f21d5
4
- data.tar.gz: a29dc7d8656b63b7969bfdc87584328640b0c59477c1f1155b18f16bf4513952
3
+ metadata.gz: b1eefefa19c93fe43aaa3517a2340b733bd4eacacf7de8d503358aae9a050628
4
+ data.tar.gz: e6fbb6a64d467edb3cfca2cc7dc195e81bd49b408ba72846e1ba06733b183d9f
5
5
  SHA512:
6
- metadata.gz: 7b30a4f5100eb6114c765acc10d6f8e76a4e0dff6f058937c804e601f913af0eaee46e119cfce5b68f7cd4444a2432373f0c07d423d575826bac263b2b7942ce
7
- data.tar.gz: 400f123137a0f51877491db54d69d26d2b3474c722406c864848699db564171aaa8f937898bf08c59dcc672f9d6fb37c075078e4c102d4bc6840fe8584c6aa07
6
+ metadata.gz: a59ad552ba765c8c0a3f9e2db6ecf40fa82b2fab457403191f39e2cd4107c7c05350cbba4c645454c25f1ad0d696c891f1c4b6018718a71c702eb1b1e20058e1
7
+ data.tar.gz: 78a9793a0257e56a3e65431859e1648558be2f940fc2e94874f2bd77c9689a3c8099c885d272f611903fbe3a2208c08fc105771ec9abe30f36f99e7bac75c7b0
@@ -0,0 +1,17 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: weekly
7
+ open-pull-requests-limit: 10
8
+ groups:
9
+ development:
10
+ dependency-type: development
11
+ runtime:
12
+ dependency-type: production
13
+
14
+ - package-ecosystem: github-actions
15
+ directory: "/"
16
+ schedule:
17
+ interval: weekly
@@ -0,0 +1,50 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ test:
13
+ name: Ruby ${{ matrix.ruby }}
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ruby: ['3.3', '3.4']
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby }}
24
+ bundler-cache: true
25
+ - name: Run specs
26
+ run: bundle exec rspec
27
+ - name: Coverage summary
28
+ if: always() && matrix.ruby == '3.3'
29
+ run: |
30
+ {
31
+ echo '### Coverage'
32
+ ruby -rjson -e 'r = JSON.parse(File.read("coverage/.last_run.json"))["result"]; puts "- Line: #{r["line"]}%"; puts "- Branch: #{r["branch"]}%"'
33
+ } >> "$GITHUB_STEP_SUMMARY"
34
+ - name: Upload coverage report
35
+ if: always() && matrix.ruby == '3.3'
36
+ uses: actions/upload-artifact@v4
37
+ with:
38
+ name: coverage
39
+ path: coverage/
40
+
41
+ rubocop:
42
+ runs-on: ubuntu-latest
43
+ steps:
44
+ - uses: actions/checkout@v4
45
+ - uses: ruby/setup-ruby@v1
46
+ with:
47
+ ruby-version: '3.3'
48
+ bundler-cache: true
49
+ - name: RuboCop
50
+ run: bundle exec rubocop
data/.gitignore CHANGED
@@ -9,3 +9,5 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+ .idea
13
+ .env
data/.rubocop.yml ADDED
@@ -0,0 +1,26 @@
1
+ AllCops:
2
+ TargetRubyVersion: 3.3
3
+ NewCops: enable
4
+ SuggestExtensions: false
5
+ Exclude:
6
+ - 'lib/natra/generators/*/templates/**/*'
7
+ - 'lib/natra/generators/*/template/**/*'
8
+ - 'vendor/**/*'
9
+ - 'coverage/**/*'
10
+
11
+ Metrics/BlockLength:
12
+ Exclude:
13
+ - 'Guardfile'
14
+ - 'natra.gemspec'
15
+ - 'spec/**/*'
16
+
17
+ Metrics/ClassLength:
18
+ Exclude:
19
+ - 'lib/natra/generators/app/app_generator.rb'
20
+
21
+ Metrics/AbcSize:
22
+ Exclude:
23
+ - 'lib/natra/generators/model/model_generator.rb'
24
+
25
+ Gemspec/RequireMFA:
26
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.3.10
data/CHANGELOG.md ADDED
@@ -0,0 +1,58 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [2.0.0] - 2026-10-04
11
+
12
+ Changes since 0.0.8.
13
+
14
+ ### Added
15
+
16
+ - `natra service_object NAME` generates a plain Ruby service object in `app/services`.
17
+ - `natra new` generates `config/puma.rb` and the Oj initializer, which were in the templates but never copied, and `config/environment.rb` loads `config/initializers`.
18
+ - `natra new --redis` adds the `redis` gem to the generated Gemfile.
19
+ - GitHub Actions runs the specs on Ruby 3.3 and 3.4 and runs RuboCop. CI fails below 100% line and branch coverage.
20
+ - A `.rubocop.yml` for the gem, and specs covering the CLI and every generator.
21
+ - This changelog.
22
+
23
+ ### Changed
24
+
25
+ - natra requires Ruby 3.3 or newer.
26
+ - Dependency upgrades: thor 1.x (from 0.20), activesupport 8.1 (the runtime constraint is now `>= 6.1, < 9`), rubocop 1.x (from 0.63), Bundler 2.7, nokogiri 1.19, rack 3.2, rspec 3.13, rake 13.4, guard 2.20, guard-rubocop 1.5 and active_model_serializers 0.10.16, plus their transitive dependencies.
27
+ - Coverage uses SimpleCov with branch coverage instead of Coveralls.
28
+ - GitHub Actions replaces Travis CI, and Dependabot uses the GitHub-native configuration.
29
+ - Generated apps target Ruby 3.3: `ruby '~> 3.3'` in the Gemfile, a `ruby:3.3-slim` Docker image with the build dependencies for pg, and the running Ruby in `.ruby-version` with `--rvm`.
30
+ - Generated apps use current gems: ActiveRecord 8.1, pg 1.x, Sinatra 4 with Rack 3, Puma 6.4 or newer, sinatra-activerecord 2, database_cleaner-active_record and amazing_print.
31
+ - Generated migrations (`add_extensions` and `natra model`) use `ActiveRecord::Migration[8.1]`, matching the generated Gemfile.
32
+ - `natra new` runs `docker compose` instead of `docker-compose`, and the generated `docker-compose.yml` drops the obsolete `version` key, uses `depends_on` and PostgreSQL 17.
33
+ - `natra new` only runs `git init` and `git add .` with `--git`, and runs `git init` once.
34
+ - The generated `config/database.yml` reads database names from `DEV_DATABASE`, `TEST_DATABASE` and `PROD_DATABASE`, with defaults named after the app.
35
+ - The generated `bin/setup` runs rake through `bundle exec`, and the generated README, RuboCop config and spec helper are updated for current tools.
36
+
37
+ ### Removed
38
+
39
+ - Coveralls, from both the gem and generated apps.
40
+ - `tux` from the generated Gemfile. Its last release was in 2011.
41
+ - The `natra` gem from the generated Gemfile. Release 0.0.8 pins activesupport 5, which conflicts with ActiveRecord 8.
42
+ - Travis CI configuration.
43
+
44
+ ### Fixed
45
+
46
+ - `natra service_object` failed with "Could not find templates/service.rb.erb" because the generator looked in the wrong template directory.
47
+ - `natra service_object` wrote to `app/service` instead of `app/services`.
48
+ - `natra service_object` added `use XService` to `config.ru`, which broke every request because a service object is not Rack middleware.
49
+ - Migrations generated by `natra model` had no ActiveRecord version, so ActiveRecord 5 and later refused to run them.
50
+ - The CLI exited with status 0 on failures because it defined `exit_on_failure` instead of `exit_on_failure?`.
51
+ - `bin/natra` had a bash shebang, so running it directly failed.
52
+ - The `directory_name` regexp listed `|` twice, which made Ruby print a warning.
53
+ - `natra new` passed the app path to `cd` without shell escaping.
54
+ - The generated `config/database.yml` used literal `ENV['...']` strings as database names.
55
+ - The generated spec helper called `ActiveRecord::Migrator.needs_migration?`, which no longer exists, and the generated welcome page lacked the heading its spec expects.
56
+
57
+ [Unreleased]: https://github.com/jamesnjuguna0419/natra/compare/v2.0.0...HEAD
58
+ [2.0.0]: https://github.com/jamesnjuguna0419/natra/compare/v0.0.8...v2.0.0
data/CODE_OF_CONDUCT.md CHANGED
File without changes
data/Gemfile CHANGED
@@ -1,12 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org/'
4
+
2
5
  gemspec
3
- gem 'active_model_serializers', '~> 0.10.0.rc1'
4
- gem 'coveralls'
6
+
7
+ gem 'active_model_serializers', '~> 0.10.16'
8
+
5
9
  group :development do
6
- gem 'rake'
7
- gem 'pry'
8
10
  gem 'guard'
9
- gem 'rspec'
10
- gem 'guard-rubocop'
11
11
  gem 'guard-rspec', require: false
12
+ gem 'guard-rubocop'
13
+ gem 'parallel', '< 2'
14
+ gem 'pry'
15
+ gem 'rake'
16
+ gem 'rspec'
17
+ gem 'simplecov', require: false
12
18
  end
data/Gemfile.lock CHANGED
@@ -1,63 +1,76 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- natra (0.0.7)
5
- activesupport (~> 5.0)
6
- thor (~> 0.18)
4
+ natra (2.0.0)
5
+ activesupport (>= 6.1, < 9)
6
+ thor (~> 1.3)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actionpack (5.2.1)
12
- actionview (= 5.2.1)
13
- activesupport (= 5.2.1)
14
- rack (~> 2.0)
11
+ actionpack (8.1.4)
12
+ actionview (= 8.1.4)
13
+ activesupport (= 8.1.4)
14
+ nokogiri (>= 1.8.5)
15
+ rack (>= 2.2.4)
16
+ rack-session (>= 1.0.1)
15
17
  rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
18
- actionview (5.2.1)
19
- activesupport (= 5.2.1)
18
+ rails-dom-testing (~> 2.2)
19
+ rails-html-sanitizer (~> 1.6)
20
+ useragent (~> 0.16)
21
+ actionview (8.1.4)
22
+ activesupport (= 8.1.4)
20
23
  builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
24
- active_model_serializers (0.10.8)
25
- actionpack (>= 4.1, < 6)
26
- activemodel (>= 4.1, < 6)
24
+ erubi (~> 1.11)
25
+ rails-dom-testing (~> 2.2)
26
+ rails-html-sanitizer (~> 1.6)
27
+ active_model_serializers (0.10.16)
28
+ actionpack (>= 4.1)
29
+ activemodel (>= 4.1)
27
30
  case_transform (>= 0.2)
28
31
  jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
29
- activemodel (5.2.1)
30
- activesupport (= 5.2.1)
31
- activesupport (5.2.1)
32
- concurrent-ruby (~> 1.0, >= 1.0.2)
33
- i18n (>= 0.7, < 2)
34
- minitest (~> 5.1)
35
- tzinfo (~> 1.1)
36
- ast (2.4.0)
37
- builder (3.2.3)
32
+ activemodel (8.1.4)
33
+ activesupport (= 8.1.4)
34
+ activesupport (8.1.4)
35
+ base64
36
+ bigdecimal
37
+ concurrent-ruby (~> 1.0, >= 1.3.1)
38
+ connection_pool (>= 2.2.5)
39
+ drb
40
+ i18n (>= 1.6, < 2)
41
+ json
42
+ logger (>= 1.4.2)
43
+ minitest (>= 5.1)
44
+ securerandom (>= 0.3)
45
+ tzinfo (~> 2.0, >= 2.0.5)
46
+ uri (>= 0.13.1)
47
+ ast (2.4.3)
48
+ base64 (0.3.0)
49
+ bigdecimal (4.1.3)
50
+ builder (3.3.0)
38
51
  case_transform (0.2)
39
52
  activesupport
40
- coderay (1.1.2)
41
- concurrent-ruby (1.1.3)
42
- coveralls (0.8.22)
43
- json (>= 1.8, < 3)
44
- simplecov (~> 0.16.1)
45
- term-ansicolor (~> 1.3)
46
- thor (~> 0.19.4)
47
- tins (~> 1.6)
48
- crass (1.0.4)
49
- diff-lcs (1.3)
50
- docile (1.3.1)
51
- erubi (1.7.1)
52
- ffi (1.9.25)
53
- formatador (0.2.5)
54
- guard (2.14.2)
53
+ coderay (1.1.3)
54
+ concurrent-ruby (1.3.8)
55
+ connection_pool (3.0.2)
56
+ crass (1.0.7)
57
+ diff-lcs (1.6.2)
58
+ drb (2.2.3)
59
+ erubi (1.13.1)
60
+ ffi (1.17.4)
61
+ ffi (1.17.4-aarch64-linux-gnu)
62
+ ffi (1.17.4-arm64-darwin)
63
+ ffi (1.17.4-x86_64-linux-gnu)
64
+ formatador (1.2.3)
65
+ reline
66
+ guard (2.20.2)
55
67
  formatador (>= 0.2.4)
56
68
  listen (>= 2.7, < 4.0)
69
+ logger (~> 1.6)
57
70
  lumberjack (>= 1.0.12, < 2.0)
58
71
  nenv (~> 0.1)
59
72
  notiffany (~> 0.0)
60
- pry (>= 0.9.12)
73
+ pry (>= 0.13.0)
61
74
  shellany (~> 0.0)
62
75
  thor (>= 0.18.1)
63
76
  guard-compat (1.2.1)
@@ -65,103 +78,131 @@ GEM
65
78
  guard (~> 2.1)
66
79
  guard-compat (~> 1.1)
67
80
  rspec (>= 2.99.0, < 4.0)
68
- guard-rubocop (1.3.0)
81
+ guard-rubocop (1.5.0)
69
82
  guard (~> 2.0)
70
- rubocop (~> 0.20)
71
- i18n (1.1.1)
83
+ rubocop (< 2.0)
84
+ i18n (1.15.2)
72
85
  concurrent-ruby (~> 1.0)
73
- jaro_winkler (1.5.1)
74
- json (2.1.0)
75
- jsonapi-renderer (0.2.0)
76
- listen (3.1.5)
77
- rb-fsevent (~> 0.9, >= 0.9.4)
78
- rb-inotify (~> 0.9, >= 0.9.7)
79
- ruby_dep (~> 1.2)
80
- loofah (2.2.3)
86
+ io-console (0.9.4)
87
+ json (3.0.2)
88
+ jsonapi-renderer (0.2.2)
89
+ language_server-protocol (3.17.0.6)
90
+ lint_roller (1.1.0)
91
+ listen (3.10.1)
92
+ logger
93
+ rb-fsevent (~> 0.10, >= 0.10.3)
94
+ rb-inotify (~> 0.9, >= 0.9.10)
95
+ logger (1.7.0)
96
+ loofah (2.25.2)
81
97
  crass (~> 1.0.2)
82
- nokogiri (>= 1.5.9)
83
- lumberjack (1.0.13)
84
- method_source (0.9.1)
85
- mini_portile2 (2.3.0)
86
- minitest (5.11.3)
98
+ nokogiri (>= 1.12.0)
99
+ lumberjack (1.4.2)
100
+ method_source (1.1.0)
101
+ mini_portile2 (2.8.9)
102
+ minitest (6.0.6)
103
+ drb (~> 2.0)
104
+ prism (~> 1.5)
87
105
  nenv (0.3.0)
88
- nokogiri (1.8.5)
89
- mini_portile2 (~> 2.3.0)
90
- notiffany (0.1.1)
106
+ nokogiri (1.19.4)
107
+ mini_portile2 (~> 2.8.2)
108
+ racc (~> 1.4)
109
+ nokogiri (1.19.4-aarch64-linux-gnu)
110
+ racc (~> 1.4)
111
+ nokogiri (1.19.4-arm64-darwin)
112
+ racc (~> 1.4)
113
+ nokogiri (1.19.4-x86_64-linux-gnu)
114
+ racc (~> 1.4)
115
+ notiffany (0.1.3)
91
116
  nenv (~> 0.1)
92
117
  shellany (~> 0.0)
93
- parallel (1.12.1)
94
- parser (2.5.3.0)
95
- ast (~> 2.4.0)
96
- powerpack (0.1.2)
97
- pry (0.12.0)
98
- coderay (~> 1.1.0)
99
- method_source (~> 0.9.0)
100
- rack (2.0.6)
101
- rack-test (1.1.0)
102
- rack (>= 1.0, < 3)
103
- rails-dom-testing (2.0.3)
104
- activesupport (>= 4.2.0)
118
+ parallel (1.28.0)
119
+ parser (3.3.12.0)
120
+ ast (~> 2.4.1)
121
+ racc
122
+ prism (1.9.0)
123
+ pry (0.16.0)
124
+ coderay (~> 1.1)
125
+ method_source (~> 1.0)
126
+ reline (>= 0.6.0)
127
+ racc (1.8.1)
128
+ rack (3.2.7)
129
+ rack-session (2.1.2)
130
+ base64 (>= 0.1.0)
131
+ rack (>= 3.0.0)
132
+ rack-test (2.2.0)
133
+ rack (>= 1.3)
134
+ rails-dom-testing (2.3.0)
135
+ activesupport (>= 5.0.0)
136
+ minitest
105
137
  nokogiri (>= 1.6)
106
- rails-html-sanitizer (1.0.4)
107
- loofah (~> 2.2, >= 2.2.2)
108
- rainbow (3.0.0)
109
- rake (12.3.1)
110
- rb-fsevent (0.10.3)
111
- rb-inotify (0.9.10)
112
- ffi (>= 0.5.0, < 2)
113
- rspec (3.8.0)
114
- rspec-core (~> 3.8.0)
115
- rspec-expectations (~> 3.8.0)
116
- rspec-mocks (~> 3.8.0)
117
- rspec-core (3.8.0)
118
- rspec-support (~> 3.8.0)
119
- rspec-expectations (3.8.2)
138
+ rails-html-sanitizer (1.7.1)
139
+ loofah (~> 2.25, >= 2.25.2)
140
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
141
+ rainbow (3.1.1)
142
+ rake (13.4.2)
143
+ rb-fsevent (0.11.2)
144
+ rb-inotify (0.11.1)
145
+ ffi (~> 1.0)
146
+ regexp_parser (2.13.1)
147
+ reline (0.7.0)
148
+ io-console (~> 0.5)
149
+ rspec (3.13.2)
150
+ rspec-core (~> 3.13.0)
151
+ rspec-expectations (~> 3.13.0)
152
+ rspec-mocks (~> 3.13.0)
153
+ rspec-core (3.13.6)
154
+ rspec-support (~> 3.13.0)
155
+ rspec-expectations (3.13.5)
120
156
  diff-lcs (>= 1.2.0, < 2.0)
121
- rspec-support (~> 3.8.0)
122
- rspec-mocks (3.8.0)
157
+ rspec-support (~> 3.13.0)
158
+ rspec-mocks (3.13.8)
123
159
  diff-lcs (>= 1.2.0, < 2.0)
124
- rspec-support (~> 3.8.0)
125
- rspec-support (3.8.0)
126
- rubocop (0.60.0)
127
- jaro_winkler (~> 1.5.1)
128
- parallel (~> 1.10)
129
- parser (>= 2.5, != 2.5.1.1)
130
- powerpack (~> 0.1)
160
+ rspec-support (~> 3.13.0)
161
+ rspec-support (3.13.7)
162
+ rubocop (1.91.0)
163
+ json (>= 2.3)
164
+ language_server-protocol (~> 3.17.0.2)
165
+ lint_roller (~> 1.1.0)
166
+ parallel (>= 1.10)
167
+ parser (>= 3.3.0.2)
131
168
  rainbow (>= 2.2.2, < 4.0)
169
+ regexp_parser (>= 2.9.3, < 3.0)
170
+ rubocop-ast (>= 1.49.0, < 2.0)
132
171
  ruby-progressbar (~> 1.7)
133
- unicode-display_width (~> 1.4.0)
134
- ruby-progressbar (1.10.0)
135
- ruby_dep (1.5.0)
172
+ unicode-display_width (>= 2.4.0, < 4.0)
173
+ rubocop-ast (1.50.0)
174
+ parser (>= 3.3.7.2)
175
+ prism (~> 1.7)
176
+ ruby-progressbar (1.13.0)
177
+ securerandom (0.4.1)
136
178
  shellany (0.0.1)
137
- simplecov (0.16.1)
138
- docile (~> 1.1)
139
- json (>= 1.8, < 3)
140
- simplecov-html (~> 0.10.0)
141
- simplecov-html (0.10.2)
142
- term-ansicolor (1.7.0)
143
- tins (~> 1.0)
144
- thor (0.19.4)
145
- thread_safe (0.3.6)
146
- tins (1.18.0)
147
- tzinfo (1.2.5)
148
- thread_safe (~> 0.1)
149
- unicode-display_width (1.4.0)
179
+ simplecov (1.3.2)
180
+ thor (1.5.0)
181
+ tzinfo (2.0.6)
182
+ concurrent-ruby (~> 1.0)
183
+ unicode-display_width (3.3.0)
184
+ unicode-emoji (~> 4.3)
185
+ unicode-emoji (4.3.0)
186
+ uri (1.1.1)
187
+ useragent (0.16.11)
150
188
 
151
189
  PLATFORMS
190
+ aarch64-linux
191
+ arm64-darwin
152
192
  ruby
193
+ x86_64-linux
153
194
 
154
195
  DEPENDENCIES
155
- active_model_serializers (~> 0.10.0.rc1)
156
- bundler (~> 1.16)
157
- coveralls
196
+ active_model_serializers (~> 0.10.16)
158
197
  guard
159
198
  guard-rspec
160
199
  guard-rubocop
161
200
  natra!
201
+ parallel (< 2)
162
202
  pry
163
203
  rake
164
204
  rspec
205
+ simplecov
165
206
 
166
207
  BUNDLED WITH
167
- 1.17.1
208
+ 2.7.2
data/Guardfile CHANGED
@@ -1,5 +1,7 @@
1
- guard :rspec, cmd: "bundle exec rspec" do
2
- require "guard/rspec/dsl"
1
+ # frozen_string_literal: true
2
+
3
+ guard :rspec, cmd: 'bundle exec rspec' do
4
+ require 'guard/rspec/dsl'
3
5
  dsl = Guard::RSpec::Dsl.new(self)
4
6
 
5
7
  # Feel free to open issues for suggestions and improvements
@@ -15,7 +17,7 @@ guard :rspec, cmd: "bundle exec rspec" do
15
17
  dsl.watch_spec_files_for(ruby.lib_files)
16
18
 
17
19
  # Rails files
18
- rails = dsl.rails(view_extensions: %w(erb haml slim))
20
+ rails = dsl.rails(view_extensions: %w[erb haml slim])
19
21
  dsl.watch_spec_files_for(rails.app_files)
20
22
  dsl.watch_spec_files_for(rails.views)
21
23
 
@@ -39,11 +41,11 @@ guard :rspec, cmd: "bundle exec rspec" do
39
41
  # Turnip features and steps
40
42
  watch(%r{^spec/acceptance/(.+)\.feature$})
41
43
  watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
42
- Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance"
44
+ Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance'
43
45
  end
44
46
  end
45
47
 
46
48
  guard :rubocop do
47
- watch(%r{.+\.rb$})
49
+ watch(/.+\.rb$/)
48
50
  watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
49
51
  end
data/LICENSE.txt CHANGED
File without changes