nextgen 0.2.0 → 0.4.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.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/config/generators.yml +5 -1
- data/lib/nextgen/actions.rb +5 -3
- data/lib/nextgen/commands/create.rb +2 -1
- data/lib/nextgen/generators/base.rb +1 -0
- data/lib/nextgen/generators/github_pr_template.rb +1 -0
- data/lib/nextgen/generators/rspec_system_testing.rb +1 -0
- data/lib/nextgen/generators/rubocop.rb +2 -1
- data/lib/nextgen/generators/vcr.rb +2 -1
- data/lib/nextgen/rails_options.rb +1 -0
- data/lib/nextgen/version.rb +1 -1
- data/template/.github/PULL_REQUEST_TEMPLATE.md.tt +21 -0
- data/template/.rubocop.yml.tt +0 -9
- data/template/spec/support/system.rb +0 -6
- data/template/spec/support/webmock.rb +1 -0
- data/template/test/application_system_test_case.rb +0 -7
- data/template/test/support/capybara.rb.tt +12 -0
- data/template/test/support/webmock.rb +1 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07b5db72fd0b2565334a0de9be709d803aac4099527a0f4b559335d8df3061a0
|
4
|
+
data.tar.gz: 94cf539ccfe794dc70ba2b46102eef081cb1602b923dc58ed4a2dc3ad8cb121a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd455a469651f794c75d88263892587016b930941e1baf7e758cddbb85b51ed3f1efdc78c02065a2dcdbcd55686701decb74cda75efba3702abb178f338c4422
|
7
|
+
data.tar.gz: b347b1918083bc71615fe301e504da5c3c9b4e60283f55b5ff812720ec40fe1cd04f3123fdebbdf2469a0799638d39ea3c37028ca514f0b3d93f2d07748dbb07
|
data/README.md
CHANGED
@@ -97,6 +97,7 @@ Nextgen can install and configure your choice of these recommended gems:
|
|
97
97
|
- [sidekiq](https://github.com/sidekiq/sidekiq)
|
98
98
|
- [thor](https://github.com/rails/thor)
|
99
99
|
- [tomo](https://github.com/mattbrictson/tomo)
|
100
|
+
- [vcr](https://github.com/vcr/vcr)
|
100
101
|
|
101
102
|
### Node packages
|
102
103
|
|
data/config/generators.yml
CHANGED
@@ -70,6 +70,10 @@ factory_bot_rails:
|
|
70
70
|
description: "Install and configure factory_bot_rails gem"
|
71
71
|
requires: active_record
|
72
72
|
|
73
|
+
github_pr_template:
|
74
|
+
prompt: "GitHub PR template"
|
75
|
+
description: "Add GitHub pull request template"
|
76
|
+
|
73
77
|
git_safe:
|
74
78
|
|
75
79
|
good_migrations:
|
@@ -131,7 +135,7 @@ tomo:
|
|
131
135
|
|
132
136
|
vcr:
|
133
137
|
prompt: "VCR"
|
134
|
-
description: "Install and configure
|
138
|
+
description: "Install and configure vcr and webmock gems"
|
135
139
|
requires: test_framework
|
136
140
|
|
137
141
|
rubocop:
|
data/lib/nextgen/actions.rb
CHANGED
@@ -54,16 +54,18 @@ module Nextgen
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def copy_test_support_file(file)
|
57
|
+
copy_action = file.end_with?(".tt") ? method(:template) : method(:copy_file)
|
58
|
+
|
57
59
|
if minitest?
|
58
60
|
create_test_support_directory
|
59
|
-
|
61
|
+
copy_action.call "test/support/#{file}"
|
60
62
|
elsif rspec?
|
61
63
|
empty_directory "spec/support"
|
62
64
|
spec_file_path = "spec/support/#{file}"
|
63
65
|
if Nextgen.template_path.join(spec_file_path).exist?
|
64
|
-
|
66
|
+
copy_action.call spec_file_path
|
65
67
|
else
|
66
|
-
|
68
|
+
copy_action.call "test/support/#{file}", spec_file_path.sub(/\.tt$/, "")
|
67
69
|
end
|
68
70
|
end
|
69
71
|
end
|
@@ -135,7 +135,7 @@ module Nextgen
|
|
135
135
|
"MySQL" => "mysql"
|
136
136
|
}
|
137
137
|
all_databases = common_databases.merge(
|
138
|
-
%w[MySQL Oracle SQLServer JDBCMySQL JDBCSQLite3 JDBCPostgreSQL JDBC].to_h do |name|
|
138
|
+
%w[MySQL Trilogy Oracle SQLServer JDBCMySQL JDBCSQLite3 JDBCPostgreSQL JDBC].to_h do |name|
|
139
139
|
[name, name.downcase]
|
140
140
|
end,
|
141
141
|
"None (disable Active Record)" => nil
|
@@ -185,6 +185,7 @@ module Nextgen
|
|
185
185
|
rails_opts.javascript = prompt.select(
|
186
186
|
"Which JavaScript bundler will you use with the asset pipeline?",
|
187
187
|
"Importmap (default)" => "importmap",
|
188
|
+
"Bun" => "bun",
|
188
189
|
"ESBuild" => "esbuild",
|
189
190
|
"Rollup" => "rollup",
|
190
191
|
"Webpack" => "webpack",
|
@@ -0,0 +1 @@
|
|
1
|
+
template ".github/PULL_REQUEST_TEMPLATE.md.tt"
|
@@ -6,7 +6,8 @@ plugins << "factory_bot" if gemfile.match?(/^\s*gem ['"]factory_bot/)
|
|
6
6
|
plugins << "minitest" if minitest?
|
7
7
|
plugins << "performance"
|
8
8
|
plugins << "rails"
|
9
|
-
|
9
|
+
install_gem("rubocop-rails", version: ">= 2.22.0", group: :development, require: false)
|
10
|
+
install_gems(*plugins.map { "rubocop-#{_1}" }, "rubocop", group: :development, require: false)
|
10
11
|
binstub "rubocop"
|
11
12
|
|
12
13
|
say_git "Generate .rubocop.yml"
|
data/lib/nextgen/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
Problem
|
2
|
+
=======
|
3
|
+
|
4
|
+
<!-- describe what motivated this PR -->
|
5
|
+
|
6
|
+
<!-- link to issue or ticket -->
|
7
|
+
|
8
|
+
Solution
|
9
|
+
========
|
10
|
+
|
11
|
+
Steps to verify
|
12
|
+
---------------
|
13
|
+
|
14
|
+
1. step
|
15
|
+
1. step
|
16
|
+
1. step
|
17
|
+
<% if File.exist?("app/views/layouts/application.html.erb") -%>
|
18
|
+
|
19
|
+
Screenshots
|
20
|
+
-----------
|
21
|
+
<% end -%>
|
data/template/.rubocop.yml.tt
CHANGED
@@ -190,15 +190,6 @@ Rails/RootPathnameMethods:
|
|
190
190
|
Rails/SkipsModelValidations:
|
191
191
|
Enabled: false
|
192
192
|
|
193
|
-
<% if Gem::Version.new(Rails.version) >= Gem::Version.new("7.1.0.beta1") -%>
|
194
|
-
Rails/UnknownEnv:
|
195
|
-
Environments:
|
196
|
-
- development
|
197
|
-
- test
|
198
|
-
- production
|
199
|
-
- local
|
200
|
-
<% end -%>
|
201
|
-
|
202
193
|
Rails/Validation:
|
203
194
|
Enabled: false
|
204
195
|
|
@@ -0,0 +1 @@
|
|
1
|
+
require "webmock/rspec"
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require "test_helper"
|
2
|
-
require "capybara/rails"
|
3
2
|
|
4
3
|
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
5
4
|
driven_by :selenium,
|
@@ -9,10 +8,4 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
|
9
8
|
options.add_argument("--disable-dev-shm-usage")
|
10
9
|
options.add_argument("--no-sandbox")
|
11
10
|
end
|
12
|
-
|
13
|
-
setup do
|
14
|
-
Capybara.default_max_wait_time = 2
|
15
|
-
Capybara.disable_animation = true
|
16
|
-
Capybara.server = :puma, {Silent: true}
|
17
|
-
end
|
18
11
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "capybara/rails"
|
2
|
+
<% if rspec? -%>
|
3
|
+
require "capybara/rspec"
|
4
|
+
<% end -%>
|
5
|
+
|
6
|
+
Capybara.configure do |config|
|
7
|
+
config.default_max_wait_time = 2
|
8
|
+
config.disable_animation = true
|
9
|
+
config.enable_aria_label = true
|
10
|
+
config.server = :puma, {Silent: true}
|
11
|
+
config.test_id = "data-testid"
|
12
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require "webmock/minitest"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nextgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Brictson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -117,6 +117,7 @@ files:
|
|
117
117
|
- lib/nextgen/generators/factory_bot_rails.rb
|
118
118
|
- lib/nextgen/generators/git_safe.rb
|
119
119
|
- lib/nextgen/generators/github_actions.rb
|
120
|
+
- lib/nextgen/generators/github_pr_template.rb
|
120
121
|
- lib/nextgen/generators/good_migrations.rb
|
121
122
|
- lib/nextgen/generators/home_controller.rb
|
122
123
|
- lib/nextgen/generators/initial_git_commit.rb
|
@@ -146,6 +147,7 @@ files:
|
|
146
147
|
- template/.env.sample
|
147
148
|
- template/.erb-lint.yml.tt
|
148
149
|
- template/.eslintrc.cjs
|
150
|
+
- template/.github/PULL_REQUEST_TEMPLATE.md.tt
|
149
151
|
- template/.github/workflows/ci.yml.tt
|
150
152
|
- template/.overcommit.yml.tt
|
151
153
|
- template/.prettierrc.cjs
|
@@ -183,13 +185,16 @@ files:
|
|
183
185
|
- template/spec/support/mailer.rb
|
184
186
|
- template/spec/support/shoulda.rb
|
185
187
|
- template/spec/support/system.rb
|
188
|
+
- template/spec/support/webmock.rb
|
186
189
|
- template/test/application_system_test_case.rb
|
187
190
|
- template/test/helpers/inline_svg_helper_test.rb
|
191
|
+
- template/test/support/capybara.rb.tt
|
188
192
|
- template/test/support/factory_bot.rb
|
189
193
|
- template/test/support/mailer.rb
|
190
194
|
- template/test/support/shoulda.rb
|
191
195
|
- template/test/support/vcr.rb.tt
|
192
196
|
- template/test/support/vite.rb
|
197
|
+
- template/test/support/webmock.rb
|
193
198
|
homepage: https://github.com/mattbrictson/nextgen
|
194
199
|
licenses:
|
195
200
|
- MIT
|
@@ -214,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
219
|
- !ruby/object:Gem::Version
|
215
220
|
version: '0'
|
216
221
|
requirements: []
|
217
|
-
rubygems_version: 3.4.
|
222
|
+
rubygems_version: 3.4.21
|
218
223
|
signing_key:
|
219
224
|
specification_version: 4
|
220
225
|
summary: Generate your next Rails app interactively!
|