rails_app_generator 0.2.38 → 0.2.41
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/after_templates/addons/avo/_.rb +11 -3
- data/after_templates/addons/avo/app/avo/resources/post_resource.rb +3 -0
- data/after_templates/addons/avo/app/avo/resources/user_resource.rb +1 -0
- data/after_templates/addons/avo/app/controllers/home_controller.rb +4 -0
- data/after_templates/addons/avo/app/models/post.rb +3 -2
- data/after_templates/addons/avo/app/models/user.rb +6 -0
- data/after_templates/addons/avo/app/services/seed_service.rb +9 -0
- data/after_templates/addons/avo/app/views/home/index.html.erb +4 -2
- data/after_templates/addons/avo/app/views/layouts/_navbar.html.erb +7 -1
- data/after_templates/addons/avo/db/seeds.rb +1 -1
- data/after_templates/addons/factory_bot_rails/_.rb +45 -0
- data/after_templates/addons/factory_bot_rails/app/controllers/home_controller.rb +8 -0
- data/after_templates/addons/factory_bot_rails/app/services/seed_service.rb +27 -0
- data/after_templates/addons/factory_bot_rails/app/views/home/index.html.erb +3 -0
- data/after_templates/addons/factory_bot_rails/app/views/home/reseed.html.erb +6 -0
- data/after_templates/addons/factory_bot_rails/app/views/layouts/_footer.html.erb +0 -0
- data/after_templates/addons/factory_bot_rails/app/views/layouts/_navbar.html.erb +6 -0
- data/after_templates/addons/factory_bot_rails/app/views/layouts/application.html.erb +29 -0
- data/after_templates/addons/factory_bot_rails/db/seeds.rb +1 -0
- data/after_templates/addons/factory_bot_rails/factories.rb +27 -0
- data/after_templates/addons/friendly_id/app/views/posts/_form.html.erb +32 -0
- data/after_templates/addons/friendly_id/app/views/posts/_post.html.erb +17 -0
- data/after_templates/addons/friendly_id/app/views/posts/_post.json.jbuilder +2 -0
- data/after_templates/addons/friendly_id/app/views/posts/edit.html.erb +10 -0
- data/after_templates/addons/friendly_id/app/views/posts/index.html.erb +14 -0
- data/after_templates/addons/friendly_id/app/views/posts/index.json.jbuilder +1 -0
- data/after_templates/addons/friendly_id/app/views/posts/new.html.erb +9 -0
- data/after_templates/addons/friendly_id/app/views/posts/show.json.jbuilder +1 -0
- data/after_templates/application/klueless/_.rb +99 -0
- data/after_templates/application/klueless/app/avo/dashboards/dashboard.rb +13 -0
- data/after_templates/application/klueless/app/avo/resources/db_schema_resource.rb +12 -0
- data/after_templates/application/klueless/app/avo/resources/rails_app_resource.rb +15 -0
- data/after_templates/application/klueless/app/avo/resources/rubocop_resource.rb +12 -0
- data/after_templates/application/klueless/app/avo/resources/table_count_resource.rb +12 -0
- data/after_templates/application/klueless/app/avo/resources/user_resource.rb +24 -0
- data/after_templates/application/klueless/app/controllers/home_controller.rb +12 -0
- data/after_templates/application/klueless/app/models/db_schema.rb +11 -0
- data/after_templates/application/klueless/app/models/rails_app.rb +3 -0
- data/after_templates/application/klueless/app/models/rubocop.rb +11 -0
- data/after_templates/application/klueless/app/models/table_count.rb +11 -0
- data/after_templates/application/klueless/app/queries/rubocop_log.psql +23 -0
- data/after_templates/application/klueless/app/queries/rubocop_log_query.rb +10 -0
- data/after_templates/application/klueless/app/queries/sql_query.rb +40 -0
- data/after_templates/application/klueless/app/services/seed_service.rb +7 -0
- data/after_templates/application/klueless/app/views/home/index.html.erb +6 -0
- data/after_templates/application/klueless/app/views/home/quick_signin.html.erb +3 -0
- data/after_templates/application/klueless/app/views/layouts/_footer.html.erb +0 -0
- data/after_templates/application/klueless/app/views/layouts/_navbar.html.erb +4 -0
- data/after_templates/application/klueless/app/views/layouts/application.html.erb +29 -0
- data/after_templates/application/klueless/config/initializers/avo.rb +101 -0
- data/after_templates/application/klueless/config/locales/en.yml +4 -0
- data/after_templates/application/klueless/db/seeds.rb +18 -0
- data/after_templates/application/printspeak/_.rb +65 -23
- data/after_templates/application/printspeak/db/seeds.rb +3 -3
- data/docs/last_run/app_generator_class.json +8 -0
- data/docs/last_run/app_generator_data.json +14 -12
- data/docs/last_run/rails_options_class.json +8 -0
- data/docs/last_run/rails_options_data.json +14 -13
- data/lib/rails_app_generator/addons/avo.rb +2 -0
- data/lib/rails_app_generator/addons/factory_bot_rails.rb +15 -0
- data/lib/rails_app_generator/addons/scenic.rb +38 -0
- data/lib/rails_app_generator/app_generator.rb +18 -0
- data/lib/rails_app_generator/rag_initializer.rb +1 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/avo.json +1 -1
- data/profiles/addons/factory_bot_rails.json +14 -0
- data/profiles/application/klueless.json +23 -0
- data/profiles/application/printspeak.json +7 -1
- data/templates/Gemfile.erb +0 -1
- metadata +50 -2
@@ -184,6 +184,7 @@ module RailsAppGenerator
|
|
184
184
|
# docker
|
185
185
|
add_if(:dotenv) # tested
|
186
186
|
add_if(:factory_bot) # TODO: needs testing
|
187
|
+
add_if(:factory_bot_rails) # tested
|
187
188
|
add_if(:faker) # tested
|
188
189
|
add_if(:friendly_id) # tested
|
189
190
|
add_if(:generators) # TODO: needs testing
|
@@ -290,6 +291,15 @@ module RailsAppGenerator
|
|
290
291
|
rails_command('db:migrate')
|
291
292
|
end
|
292
293
|
|
294
|
+
def db(drop: false, create: false, migrate: false, seed: false)
|
295
|
+
commands = []
|
296
|
+
commands << 'db:drop' if drop
|
297
|
+
commands << 'db:create' if create
|
298
|
+
commands << 'db:migrate' if migrate
|
299
|
+
commands << 'db:seed' if seed
|
300
|
+
rails_command(commands.join(' '))
|
301
|
+
end
|
302
|
+
|
293
303
|
def db_seed
|
294
304
|
rails_command('db:seed')
|
295
305
|
end
|
@@ -365,6 +375,14 @@ module RailsAppGenerator
|
|
365
375
|
template_files.map { |template_file| read_template(template_file) }.join(join)
|
366
376
|
end
|
367
377
|
|
378
|
+
# swap two lines using the gsub_file
|
379
|
+
def swap_lines(file, swap1, swap2)
|
380
|
+
swap_temp = '##SWAP_IT##'
|
381
|
+
gsub_file(file, swap1, swap_temp)
|
382
|
+
gsub_file(file, swap2, swap1)
|
383
|
+
gsub_file(file, swap_temp, swap2)
|
384
|
+
end
|
385
|
+
|
368
386
|
# Moves a file at given location, to another location. Both files are relative to the destination_root
|
369
387
|
#
|
370
388
|
# ==== Parameters
|
@@ -118,6 +118,7 @@ KConfig.configure do |config|
|
|
118
118
|
# docker
|
119
119
|
rag.add_option :add_dotenv , type: :boolean, default: false
|
120
120
|
# factory_bot
|
121
|
+
rag.add_option :add_factory_bot_rails , type: :boolean, default: false
|
121
122
|
rag.add_option :add_faker , type: :boolean, default: false
|
122
123
|
rag.add_option :add_friendly_id , type: :boolean, default: false
|
123
124
|
# generators
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "rails_app_generator",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.41",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "rails_app_generator",
|
9
|
-
"version": "0.2.
|
9
|
+
"version": "0.2.41",
|
10
10
|
"dependencies": {
|
11
11
|
"daisyui": "^2.20.0"
|
12
12
|
},
|
data/package.json
CHANGED
data/profiles/addons/avo.json
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"args": {
|
3
|
+
"app_path": "r7_factory_bot_rails",
|
4
|
+
"destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
|
5
|
+
},
|
6
|
+
"opts": {
|
7
|
+
"skip_git": true,
|
8
|
+
"skip_test": true,
|
9
|
+
"add_minimal_css": true,
|
10
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/factory_bot_rails/_.rb",
|
11
|
+
"add_factory_bot_rails": true,
|
12
|
+
"add_faker": true
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"args": {
|
3
|
+
"app_path": "klueless",
|
4
|
+
"destination_root": "/Users/davidcruwys/dev/kweb",
|
5
|
+
"note": "add sidekiq to handle the data import tasks, add impersonate"
|
6
|
+
},
|
7
|
+
"opts": {
|
8
|
+
"skip_test": true,
|
9
|
+
"database": "postgresql",
|
10
|
+
"css": "tailwind",
|
11
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/application/klueless/_.rb",
|
12
|
+
"add_avo": true,
|
13
|
+
"add_annotate": true,
|
14
|
+
"add_brakeman": true,
|
15
|
+
"add_bundler_audit": true,
|
16
|
+
"add_devise": true,
|
17
|
+
"add_dotenv": true,
|
18
|
+
"add_factory_bot_rails": true,
|
19
|
+
"add_faker": true,
|
20
|
+
"add_ransack": false,
|
21
|
+
"add_rubocop": true
|
22
|
+
}
|
23
|
+
}
|
@@ -5,10 +5,16 @@
|
|
5
5
|
},
|
6
6
|
"opts": {
|
7
7
|
"skip_test": true,
|
8
|
-
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/application/printspeak/_.rb",
|
9
8
|
"css": "bootstrap",
|
9
|
+
"database": "postgresql",
|
10
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/application/printspeak/_.rb",
|
11
|
+
"add_avo": true,
|
10
12
|
"add_annotate": true,
|
13
|
+
"add_devise": true,
|
11
14
|
"add_dotenv": true,
|
15
|
+
"add_factory_bot_rails": true,
|
16
|
+
"add_faker": true,
|
17
|
+
"add_ransack": false,
|
12
18
|
"add_rubocop": true
|
13
19
|
}
|
14
20
|
}
|
data/templates/Gemfile.erb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_app_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.41
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bootsnap
|
@@ -214,6 +214,8 @@ files:
|
|
214
214
|
- after_templates/addons/avo/app/controllers/home_controller.rb
|
215
215
|
- after_templates/addons/avo/app/models/category.rb
|
216
216
|
- after_templates/addons/avo/app/models/post.rb
|
217
|
+
- after_templates/addons/avo/app/models/user.rb
|
218
|
+
- after_templates/addons/avo/app/services/seed_service.rb
|
217
219
|
- after_templates/addons/avo/app/views/home/index.html.erb
|
218
220
|
- after_templates/addons/avo/app/views/home/quick_signin.html.erb
|
219
221
|
- after_templates/addons/avo/app/views/layouts/_footer.html.erb
|
@@ -292,6 +294,16 @@ files:
|
|
292
294
|
- after_templates/addons/dotenv/app/controllers/home_controller.rb
|
293
295
|
- after_templates/addons/dotenv/app/views/home/index.html.erb
|
294
296
|
- after_templates/addons/dotenv/app/views/layouts/application.html.erb
|
297
|
+
- after_templates/addons/factory_bot_rails/_.rb
|
298
|
+
- after_templates/addons/factory_bot_rails/app/controllers/home_controller.rb
|
299
|
+
- after_templates/addons/factory_bot_rails/app/services/seed_service.rb
|
300
|
+
- after_templates/addons/factory_bot_rails/app/views/home/index.html.erb
|
301
|
+
- after_templates/addons/factory_bot_rails/app/views/home/reseed.html.erb
|
302
|
+
- after_templates/addons/factory_bot_rails/app/views/layouts/_footer.html.erb
|
303
|
+
- after_templates/addons/factory_bot_rails/app/views/layouts/_navbar.html.erb
|
304
|
+
- after_templates/addons/factory_bot_rails/app/views/layouts/application.html.erb
|
305
|
+
- after_templates/addons/factory_bot_rails/db/seeds.rb
|
306
|
+
- after_templates/addons/factory_bot_rails/factories.rb
|
295
307
|
- after_templates/addons/faker/_.rb
|
296
308
|
- after_templates/addons/faker/app/controllers/home_controller.rb
|
297
309
|
- after_templates/addons/faker/app/views/home/index.html.erb
|
@@ -307,7 +319,15 @@ files:
|
|
307
319
|
- after_templates/addons/friendly_id/app/views/layouts/_footer.html.erb
|
308
320
|
- after_templates/addons/friendly_id/app/views/layouts/_navbar.html.erb
|
309
321
|
- after_templates/addons/friendly_id/app/views/layouts/application.html.erb
|
322
|
+
- after_templates/addons/friendly_id/app/views/posts/_form.html.erb
|
323
|
+
- after_templates/addons/friendly_id/app/views/posts/_post.html.erb
|
324
|
+
- after_templates/addons/friendly_id/app/views/posts/_post.json.jbuilder
|
325
|
+
- after_templates/addons/friendly_id/app/views/posts/edit.html.erb
|
326
|
+
- after_templates/addons/friendly_id/app/views/posts/index.html.erb
|
327
|
+
- after_templates/addons/friendly_id/app/views/posts/index.json.jbuilder
|
328
|
+
- after_templates/addons/friendly_id/app/views/posts/new.html.erb
|
310
329
|
- after_templates/addons/friendly_id/app/views/posts/show.html.erb
|
330
|
+
- after_templates/addons/friendly_id/app/views/posts/show.json.jbuilder
|
311
331
|
- after_templates/addons/friendly_id/db/seeds.rb
|
312
332
|
- after_templates/addons/hexapdf/_.rb
|
313
333
|
- after_templates/addons/hexapdf/app/controllers/home_controller.rb
|
@@ -424,6 +444,30 @@ files:
|
|
424
444
|
- after_templates/addons/twilio_ruby/app/controllers/home_controller.rb
|
425
445
|
- after_templates/addons/twilio_ruby/app/views/home/index.html.erb
|
426
446
|
- after_templates/addons/twilio_ruby/config/initializers/twilio.rb
|
447
|
+
- after_templates/application/klueless/_.rb
|
448
|
+
- after_templates/application/klueless/app/avo/dashboards/dashboard.rb
|
449
|
+
- after_templates/application/klueless/app/avo/resources/db_schema_resource.rb
|
450
|
+
- after_templates/application/klueless/app/avo/resources/rails_app_resource.rb
|
451
|
+
- after_templates/application/klueless/app/avo/resources/rubocop_resource.rb
|
452
|
+
- after_templates/application/klueless/app/avo/resources/table_count_resource.rb
|
453
|
+
- after_templates/application/klueless/app/avo/resources/user_resource.rb
|
454
|
+
- after_templates/application/klueless/app/controllers/home_controller.rb
|
455
|
+
- after_templates/application/klueless/app/models/db_schema.rb
|
456
|
+
- after_templates/application/klueless/app/models/rails_app.rb
|
457
|
+
- after_templates/application/klueless/app/models/rubocop.rb
|
458
|
+
- after_templates/application/klueless/app/models/table_count.rb
|
459
|
+
- after_templates/application/klueless/app/queries/rubocop_log.psql
|
460
|
+
- after_templates/application/klueless/app/queries/rubocop_log_query.rb
|
461
|
+
- after_templates/application/klueless/app/queries/sql_query.rb
|
462
|
+
- after_templates/application/klueless/app/services/seed_service.rb
|
463
|
+
- after_templates/application/klueless/app/views/home/index.html.erb
|
464
|
+
- after_templates/application/klueless/app/views/home/quick_signin.html.erb
|
465
|
+
- after_templates/application/klueless/app/views/layouts/_footer.html.erb
|
466
|
+
- after_templates/application/klueless/app/views/layouts/_navbar.html.erb
|
467
|
+
- after_templates/application/klueless/app/views/layouts/application.html.erb
|
468
|
+
- after_templates/application/klueless/config/initializers/avo.rb
|
469
|
+
- after_templates/application/klueless/config/locales/en.yml
|
470
|
+
- after_templates/application/klueless/db/seeds.rb
|
427
471
|
- after_templates/application/printspeak/_.rb
|
428
472
|
- after_templates/application/printspeak/app/assets/images/.keep
|
429
473
|
- after_templates/application/printspeak/app/assets/images/about/1.jpg
|
@@ -654,6 +698,7 @@ files:
|
|
654
698
|
- lib/rails_app_generator/addons/docker_compose.rb
|
655
699
|
- lib/rails_app_generator/addons/dotenv.rb
|
656
700
|
- lib/rails_app_generator/addons/factory_bot.rb
|
701
|
+
- lib/rails_app_generator/addons/factory_bot_rails.rb
|
657
702
|
- lib/rails_app_generator/addons/faker.rb
|
658
703
|
- lib/rails_app_generator/addons/foreman.rb
|
659
704
|
- lib/rails_app_generator/addons/friendly_id.rb
|
@@ -682,6 +727,7 @@ files:
|
|
682
727
|
- lib/rails_app_generator/addons/rspec.rb
|
683
728
|
- lib/rails_app_generator/addons/rubocop.rb
|
684
729
|
- lib/rails_app_generator/addons/scaffold.rb
|
730
|
+
- lib/rails_app_generator/addons/scenic.rb
|
685
731
|
- lib/rails_app_generator/addons/services.rb
|
686
732
|
- lib/rails_app_generator/addons/sidekiq.rb
|
687
733
|
- lib/rails_app_generator/addons/stimulus.rb
|
@@ -736,6 +782,7 @@ files:
|
|
736
782
|
- profiles/addons/devise.json
|
737
783
|
- profiles/addons/devise_masquerade.json
|
738
784
|
- profiles/addons/dotenv.json
|
785
|
+
- profiles/addons/factory_bot_rails.json
|
739
786
|
- profiles/addons/faker.json
|
740
787
|
- profiles/addons/friendly_id.json
|
741
788
|
- profiles/addons/hexapdf.json
|
@@ -754,6 +801,7 @@ files:
|
|
754
801
|
- profiles/addons/rolify.json
|
755
802
|
- profiles/addons/rubocop.json
|
756
803
|
- profiles/addons/twilio_ruby.json
|
804
|
+
- profiles/application/klueless.json
|
757
805
|
- profiles/application/printspeak.json
|
758
806
|
- profiles/rag/bootstrap.json
|
759
807
|
- profiles/rag/devise.json
|