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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/after_templates/addons/avo/_.rb +11 -3
  4. data/after_templates/addons/avo/app/avo/resources/post_resource.rb +3 -0
  5. data/after_templates/addons/avo/app/avo/resources/user_resource.rb +1 -0
  6. data/after_templates/addons/avo/app/controllers/home_controller.rb +4 -0
  7. data/after_templates/addons/avo/app/models/post.rb +3 -2
  8. data/after_templates/addons/avo/app/models/user.rb +6 -0
  9. data/after_templates/addons/avo/app/services/seed_service.rb +9 -0
  10. data/after_templates/addons/avo/app/views/home/index.html.erb +4 -2
  11. data/after_templates/addons/avo/app/views/layouts/_navbar.html.erb +7 -1
  12. data/after_templates/addons/avo/db/seeds.rb +1 -1
  13. data/after_templates/addons/factory_bot_rails/_.rb +45 -0
  14. data/after_templates/addons/factory_bot_rails/app/controllers/home_controller.rb +8 -0
  15. data/after_templates/addons/factory_bot_rails/app/services/seed_service.rb +27 -0
  16. data/after_templates/addons/factory_bot_rails/app/views/home/index.html.erb +3 -0
  17. data/after_templates/addons/factory_bot_rails/app/views/home/reseed.html.erb +6 -0
  18. data/after_templates/addons/factory_bot_rails/app/views/layouts/_footer.html.erb +0 -0
  19. data/after_templates/addons/factory_bot_rails/app/views/layouts/_navbar.html.erb +6 -0
  20. data/after_templates/addons/factory_bot_rails/app/views/layouts/application.html.erb +29 -0
  21. data/after_templates/addons/factory_bot_rails/db/seeds.rb +1 -0
  22. data/after_templates/addons/factory_bot_rails/factories.rb +27 -0
  23. data/after_templates/addons/friendly_id/app/views/posts/_form.html.erb +32 -0
  24. data/after_templates/addons/friendly_id/app/views/posts/_post.html.erb +17 -0
  25. data/after_templates/addons/friendly_id/app/views/posts/_post.json.jbuilder +2 -0
  26. data/after_templates/addons/friendly_id/app/views/posts/edit.html.erb +10 -0
  27. data/after_templates/addons/friendly_id/app/views/posts/index.html.erb +14 -0
  28. data/after_templates/addons/friendly_id/app/views/posts/index.json.jbuilder +1 -0
  29. data/after_templates/addons/friendly_id/app/views/posts/new.html.erb +9 -0
  30. data/after_templates/addons/friendly_id/app/views/posts/show.json.jbuilder +1 -0
  31. data/after_templates/application/klueless/_.rb +99 -0
  32. data/after_templates/application/klueless/app/avo/dashboards/dashboard.rb +13 -0
  33. data/after_templates/application/klueless/app/avo/resources/db_schema_resource.rb +12 -0
  34. data/after_templates/application/klueless/app/avo/resources/rails_app_resource.rb +15 -0
  35. data/after_templates/application/klueless/app/avo/resources/rubocop_resource.rb +12 -0
  36. data/after_templates/application/klueless/app/avo/resources/table_count_resource.rb +12 -0
  37. data/after_templates/application/klueless/app/avo/resources/user_resource.rb +24 -0
  38. data/after_templates/application/klueless/app/controllers/home_controller.rb +12 -0
  39. data/after_templates/application/klueless/app/models/db_schema.rb +11 -0
  40. data/after_templates/application/klueless/app/models/rails_app.rb +3 -0
  41. data/after_templates/application/klueless/app/models/rubocop.rb +11 -0
  42. data/after_templates/application/klueless/app/models/table_count.rb +11 -0
  43. data/after_templates/application/klueless/app/queries/rubocop_log.psql +23 -0
  44. data/after_templates/application/klueless/app/queries/rubocop_log_query.rb +10 -0
  45. data/after_templates/application/klueless/app/queries/sql_query.rb +40 -0
  46. data/after_templates/application/klueless/app/services/seed_service.rb +7 -0
  47. data/after_templates/application/klueless/app/views/home/index.html.erb +6 -0
  48. data/after_templates/application/klueless/app/views/home/quick_signin.html.erb +3 -0
  49. data/after_templates/application/klueless/app/views/layouts/_footer.html.erb +0 -0
  50. data/after_templates/application/klueless/app/views/layouts/_navbar.html.erb +4 -0
  51. data/after_templates/application/klueless/app/views/layouts/application.html.erb +29 -0
  52. data/after_templates/application/klueless/config/initializers/avo.rb +101 -0
  53. data/after_templates/application/klueless/config/locales/en.yml +4 -0
  54. data/after_templates/application/klueless/db/seeds.rb +18 -0
  55. data/after_templates/application/printspeak/_.rb +65 -23
  56. data/after_templates/application/printspeak/db/seeds.rb +3 -3
  57. data/docs/last_run/app_generator_class.json +8 -0
  58. data/docs/last_run/app_generator_data.json +14 -12
  59. data/docs/last_run/rails_options_class.json +8 -0
  60. data/docs/last_run/rails_options_data.json +14 -13
  61. data/lib/rails_app_generator/addons/avo.rb +2 -0
  62. data/lib/rails_app_generator/addons/factory_bot_rails.rb +15 -0
  63. data/lib/rails_app_generator/addons/scenic.rb +38 -0
  64. data/lib/rails_app_generator/app_generator.rb +18 -0
  65. data/lib/rails_app_generator/rag_initializer.rb +1 -0
  66. data/lib/rails_app_generator/version.rb +1 -1
  67. data/package-lock.json +2 -2
  68. data/package.json +1 -1
  69. data/profiles/addons/avo.json +1 -1
  70. data/profiles/addons/factory_bot_rails.json +14 -0
  71. data/profiles/application/klueless.json +23 -0
  72. data/profiles/application/printspeak.json +7 -1
  73. data/templates/Gemfile.erb +0 -1
  74. 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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.2.38'
4
+ VERSION = '0.2.41'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.38",
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.38",
9
+ "version": "0.2.41",
10
10
  "dependencies": {
11
11
  "daisyui": "^2.20.0"
12
12
  },
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.38",
3
+ "version": "0.2.41",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "args": {
3
- "app_path": "avo",
3
+ "app_path": "r7_avo",
4
4
  "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
5
5
  },
6
6
  "opts": {
@@ -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
  }
@@ -1,7 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
  git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
3
 
4
- # xmen
5
4
  ruby <%= "'#{RUBY_VERSION}'" -%>
6
5
 
7
6
  <% gems.each do |gem| %><%= gem %>
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.38
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-22 00:00:00.000000000 Z
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