rails_app_generator 0.2.21 → 0.2.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/generators/project-plan.rb +16 -2
  3. data/CHANGELOG.md +24 -0
  4. data/after_templates/addons/avo/_.rb +54 -0
  5. data/after_templates/addons/avo/app/controllers/home_controller.rb +4 -0
  6. data/after_templates/addons/avo/app/views/home/index.html.erb +3 -0
  7. data/after_templates/addons/avo/app/views/layouts/_footer.html.erb +3 -0
  8. data/after_templates/addons/avo/app/views/layouts/_navbar.html.erb +8 -0
  9. data/after_templates/addons/avo/app/views/layouts/application.html.erb +23 -0
  10. data/after_templates/addons/avo/db/seeds.rb +132 -0
  11. data/after_templates/addons/devise/_.rb +70 -0
  12. data/after_templates/addons/devise/app/controllers/home_controller.rb +4 -0
  13. data/after_templates/addons/devise/app/controllers/posts_controller.rb +81 -0
  14. data/after_templates/addons/devise/app/models/post.rb +11 -0
  15. data/after_templates/addons/devise/app/models/user.rb +17 -0
  16. data/after_templates/addons/devise/app/views/home/index.html.erb +40 -0
  17. data/after_templates/addons/devise/app/views/layouts/_footer.html.erb +1 -0
  18. data/after_templates/addons/devise/app/views/layouts/_navbar.html.erb +10 -0
  19. data/after_templates/addons/devise/app/views/layouts/application.html.erb +38 -0
  20. data/after_templates/addons/devise/app/views/posts/_form.html.erb +27 -0
  21. data/after_templates/addons/devise/app/views/posts/_post.html.erb +14 -0
  22. data/after_templates/addons/devise/app/views/posts/index.html.erb +12 -0
  23. data/after_templates/addons/devise/app/views/posts/show.html.erb +8 -0
  24. data/after_templates/addons/devise/db/seeds.rb +11 -0
  25. data/after_templates/addons/minimal_css/_.rb +62 -0
  26. data/after_templates/addons/minimal_css/app/controllers/home_controller.rb +4 -0
  27. data/after_templates/addons/minimal_css/app/views/home/index.html.erb +140 -0
  28. data/after_templates/addons/minimal_css/app/views/layouts/_footer.html.erb +1 -0
  29. data/after_templates/addons/minimal_css/app/views/layouts/_navbar.html.erb +3 -0
  30. data/after_templates/addons/minimal_css/app/views/layouts/application.html.erb +29 -0
  31. data/after_templates/addons/minimal_css/db/seeds.rb +5 -0
  32. data/after_templates/rag/devise/_.rb +14 -17
  33. data/after_templates/rag/devise/app/controllers/home_controller.rb +4 -0
  34. data/after_templates/rag/devise/{post → app/controllers}/posts_controller.rb +0 -0
  35. data/after_templates/rag/devise/{post → app/models}/post.rb +0 -0
  36. data/after_templates/rag/devise/app/views/home/index.html.erb +3 -0
  37. data/after_templates/rag/devise/app/views/layouts/_footer.html.erb +3 -0
  38. data/after_templates/rag/devise/app/views/layouts/_navbar.html.erb +8 -0
  39. data/after_templates/rag/devise/app/views/layouts/application.html.erb +24 -0
  40. data/after_templates/rag/devise/{post → app/views/post}/_post.html.erb +0 -0
  41. data/after_templates/rag/test/_.rb +64 -0
  42. data/after_templates/rag/test/app/controllers/home_controller.rb +4 -0
  43. data/after_templates/rag/test/app/views/home/index.html.erb +3 -0
  44. data/after_templates/rag/test/app/views/layouts/_footer.html.erb +1 -0
  45. data/after_templates/rag/test/app/views/layouts/_navbar.html.erb +5 -0
  46. data/after_templates/rag/test/app/views/layouts/application.html.erb +29 -0
  47. data/after_templates/rag/test/db/seeds.rb +7 -0
  48. data/after_templates/rag/testy/_.rb +64 -0
  49. data/after_templates/rag/testy/app/controllers/home_controller.rb +4 -0
  50. data/after_templates/rag/testy/app/views/home/index.html.erb +3 -0
  51. data/after_templates/rag/testy/app/views/layouts/_footer.html.erb +1 -0
  52. data/after_templates/rag/testy/app/views/layouts/_navbar.html.erb +5 -0
  53. data/after_templates/rag/testy/app/views/layouts/application.html.erb +29 -0
  54. data/after_templates/rag/testy/db/seeds.rb +7 -0
  55. data/docs/last_run/app_generator_class.json +58 -34
  56. data/docs/last_run/app_generator_data.json +13 -10
  57. data/docs/last_run/rails_options_class.json +48 -24
  58. data/docs/last_run/rails_options_data.json +13 -10
  59. data/docs/project-plan/project.drawio +65 -59
  60. data/docs/project-plan/project_done.svg +1 -1
  61. data/lib/rails_app_generator/addon.rb +20 -2
  62. data/lib/rails_app_generator/addons/avo.rb +27 -0
  63. data/lib/rails_app_generator/addons/devise.rb +78 -28
  64. data/lib/rails_app_generator/addons/devise_old.rb +22 -0
  65. data/lib/rails_app_generator/addons/minimal_css.rb +70 -0
  66. data/lib/rails_app_generator/app_generator.rb +39 -20
  67. data/lib/rails_app_generator/gem_query.rb +34 -0
  68. data/lib/rails_app_generator/rag_initializer.rb +24 -8
  69. data/lib/rails_app_generator/version.rb +1 -1
  70. data/lib/rails_app_generator.rb +1 -0
  71. data/package-lock.json +2 -2
  72. data/package.json +1 -1
  73. data/profiles/addons/avo.json +16 -0
  74. data/profiles/addons/devise.json +16 -0
  75. data/profiles/addons/minimal_css.json +15 -0
  76. data/profiles/rag/testy.json +12 -0
  77. data/tasks/addon.thor +7 -3
  78. data/tasks/profile.thor +3 -3
  79. data/templates/Gemfile.erb +1 -0
  80. data/{after_templates/rag/devise/turbo_controller.rb → templates/addons/devise/app/controllers/turbo_devise_controller.rb} +4 -10
  81. data/templates/addons/devise/app/controllers/users/registrations_controller.rb +62 -0
  82. data/templates/addons/devise/app/views/devise/registrations/edit.html.erb +40 -54
  83. data/templates/addons/devise/app/views/devise/registrations/new.html.erb +32 -43
  84. data/templates/addons/devise/app/views/layouts/_alerts.html.erb +2 -0
  85. data/{after_templates/rag → templates/addons}/devise/config/initializers/devise_turbo.rb +1 -1
  86. data/templates/thor_task/profile/after_template.rb +1 -1
  87. data/templates/thor_task/profile/app/views/layouts/_footer.html.erb.tt +1 -3
  88. data/templates/thor_task/profile/app/views/layouts/_navbar.html.erb +5 -8
  89. data/templates/thor_task/profile/app/views/layouts/application.html.erb.tt +8 -2
  90. data/templates/thor_task/profile/db/seeds.rb +2 -11
  91. metadata +64 -17
  92. data/after_templates/rag/devise/application.html.erb +0 -20
  93. data/tasks/gem_info.rb +0 -47
  94. data/templates/addons/devise/app/views/devise/confirmations/new.html.erb +0 -24
  95. data/templates/addons/devise/app/views/devise/passwords/edit.html.erb +0 -34
  96. data/templates/addons/devise/app/views/devise/passwords/new.html.erb +0 -23
  97. data/templates/addons/devise/app/views/devise/sessions/new.html.erb +0 -33
  98. data/templates/addons/devise/app/views/devise/shared/_error_messages.html.erb +0 -15
  99. data/templates/addons/devise/app/views/devise/shared/_form_wrap.html.erb +0 -5
  100. data/templates/addons/devise/app/views/devise/shared/_links.html.erb +0 -25
  101. data/templates/addons/devise/app/views/devise/unlocks/new.html.erb +0 -22
@@ -0,0 +1,11 @@
1
+ david = User.create(email: 'david@site.com', name: 'david', password: 'password', password_confirmation: 'password', role: :admin)
2
+ james = User.create(email: 'james@site.com', name: 'james', password: 'password', password_confirmation: 'password')
3
+ sally = User.create(email: 'sally@site.com', name: 'sally', password: 'password', password_confirmation: 'password', role: :moderator)
4
+
5
+ 10.times do
6
+ Post.create(
7
+ title: "Post #{Faker::Lorem.words(number: rand(1..3)).join(' ')}",
8
+ body: "#{Faker::Lorem.sentences(number: 8).join("<br />")}",
9
+ views: 0,
10
+ user: User.all.sample)
11
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Description goes here
4
+ #
5
+ # exe/rag addons/minimal_css
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ prepare_environment
12
+
13
+ add_controller('home', 'index')
14
+
15
+ route("root 'home#index'")
16
+
17
+ force_copy
18
+
19
+ directory "app/controllers"
20
+ directory "app/views/home"
21
+ directory "app/views/layouts"
22
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
23
+
24
+ template 'db/seeds.rb' , 'db/seeds.rb'
25
+
26
+ after_bundle do
27
+ setup_db
28
+ end
29
+
30
+ def setup_db
31
+ add_scaffold('person', 'first_name', 'last_name', 'age:integer', 'address:text')
32
+
33
+ db_migrate
34
+ db_seed
35
+ end
36
+
37
+ # Other template command examples
38
+ # prepare_environment
39
+ # bundle_install
40
+ # css_install('tailwind')
41
+ # rails_command('db:migrate')
42
+ # rails_command('db:migrate')
43
+ # bundle_add('hotwire-rails')
44
+ # rails_command('hotwire:install')
45
+ # run('bin/importmap pin sortablejs')
46
+ # run('npm install daisyui')
47
+ # rubocop
48
+ #
49
+ # directory 'app/assets/images'
50
+ # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
51
+ # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
52
+ # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
53
+ # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
54
+ # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
55
+ # template 'home.css', 'app/assets/stylesheets/home.css'
56
+ #
57
+ # add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
58
+ # route(<<-'RUBY')
59
+ # PageController.action_methods.each do |action|
60
+ # get "/#{action}", to: "page##{action}", as: "page_#{action}"
61
+ # end
62
+ # RUBY
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,140 @@
1
+ <h1>Minimal css</h1>
2
+
3
+ <p>The HTML below comes from the demo on Water.css</p>
4
+
5
+ <h2>Element demos</h2>
6
+ <p>This is supposed to be a demo page so we need more elements!</p>
7
+ <h3>Form elements</h3>
8
+ <form>
9
+ <label for="email">Email</label> <input type="email" name="email" id="email" placeholder="john.doe@gmail.com" />
10
+ <label for="id">User id (read only)</label> <input readonly="" name="id" id="id" value="04D6H89Z" />
11
+ <label for="disabled">Random disabled input</label>
12
+ <input disabled="" name="disabled" id="disabled" placeholder="Because why not?" />
13
+ <label for="about">About me</label> <textarea name="about" id="about" placeholder="I am a textarea..."></textarea>
14
+ <label>Choose a Doe:</label>
15
+ <div>
16
+ <input type="radio" id="john" name="drone" value="john" checked="" />
17
+ <label for="john">John Doe</label>
18
+ </div>
19
+ <div>
20
+ <input type="radio" id="jane" name="drone" value="jane" checked="" />
21
+ <label for="jane">Jane Doe</label>
22
+ </div>
23
+ <div>
24
+ <input type="radio" id="johnny" name="drone" value="johnny" checked="" />
25
+ <label for="johnny">Johnny Doe</label>
26
+ </div>
27
+ <br />
28
+ <input type="checkbox" name="remember" id="remember" checked="" />
29
+ <label for="remember">Remember me</label>
30
+
31
+ <input type="submit" value="Submit" />
32
+ <input type="reset" value="Reset" />
33
+ </form>
34
+ <h3 id="code">Code</h3>
35
+ <p>
36
+ Below is some code, you can copy it with <kbd>Ctrl-C</kbd>. Did you know, <code>alert(1)</code> can show an alert in
37
+ JavaScript!
38
+ </p>
39
+ <pre style="position: relative">
40
+ <code>// This logs a message to the console and check out the scrollbar.<br>console.log('Hello, world!')</code>
41
+ <div class="open_grepper_editor" title="Edit &amp; Save To Grepper"></div>
42
+ </pre>
43
+ <h3>Other</h3>
44
+ <p>Here's a horizontal rule and image because I don't know where else to put them.</p>
45
+ <img src="https://placekitten.com/408/287" alt="Example kitten" />
46
+ <hr />
47
+ <p>And here's a nicely marked up table!</p>
48
+
49
+ <table>
50
+ <thead>
51
+ <tr>
52
+ <th>Name</th>
53
+ <th>Quantity</th>
54
+ <th>Price</th>
55
+ </tr>
56
+ </thead>
57
+ <tbody>
58
+ <tr>
59
+ <td>Godzilla</td>
60
+ <td>2</td>
61
+ <td>$299.99</td>
62
+ </tr>
63
+ <tr>
64
+ <td>Mozilla</td>
65
+ <td>10</td>
66
+ <td>$100,000.00</td>
67
+ </tr>
68
+ <tr>
69
+ <td>Quesadilla</td>
70
+ <td>1</td>
71
+ <td>$2.22</td>
72
+ </tr>
73
+ </tbody>
74
+ </table>
75
+
76
+ <details>
77
+ <summary>Some summary/details can't hurt!</summary>
78
+ <p>Lorem ipsum dolor sit blah blah.</p>
79
+ </details>
80
+
81
+ <p>The dialog (form, and menu) tag</p>
82
+ <div><button type="button" id="dialog-trigger">Show me the dialog!</button> <span id="dialog-result"></span></div>
83
+ <dialog id="dialog">
84
+ <header>This is a sample dialog</header>
85
+ <form method="dialog">
86
+ <p>What is your favorite pet animal?</p>
87
+ <menu>
88
+ <button value="feline">Cats</button> <button value="canine">Dogs</button> <button value="other">Others</button>
89
+ </menu>
90
+ </form>
91
+ </dialog>
92
+ <h3 id="typography">Typography</h3>
93
+ <p>
94
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque dictum hendrerit velit, quis ullamcorper sem congue
95
+ ac. Quisque id magna rhoncus, sodales massa vel, vestibulum elit. Duis ornare accumsan egestas. Proin maximus lacus
96
+ interdum leo molestie convallis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus
97
+ mus. Ut iaculis risus eu felis feugiat, eu mollis neque elementum. Donec interdum, nisl id dignissim iaculis, felis
98
+ dui aliquet dui, non fermentum velit lectus ac quam. Class aptent taciti sociosqu ad litora torquent per conubia
99
+ nostra, per inceptos himenaeos. <strong>This is strong,</strong> this is normal, <b>this is just bold,</b>
100
+ <em>and this is emphasized!</em> And heck, <a href="/">here</a>'s a link.
101
+ </p>
102
+ <blockquote cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote">
103
+ "The HTML blockquote Element (or HTML Block Quotation Element) indicates that the enclosed text is an extended
104
+ quotation. Usually, this is rendered visually by indentation (see
105
+ <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote#Usage_notes">Notes</a> for how to change
106
+ it). A URL for the source of the quotation may be given using the <code>cite</code> attribute, while a text
107
+ representation of the source can be given using the <code>&lt;cite&gt;</code> cite element."
108
+ <footer><cite>MDN, "The Block Quotation element"</cite></footer>
109
+ </blockquote>
110
+ <ul>
111
+ <li>Unordered list item 1</li>
112
+ <li>Unordered list item 2</li>
113
+ <li>Unordered list item 3</li>
114
+ </ul>
115
+ <ol>
116
+ <li>Ordered list item 1</li>
117
+ <li>Ordered list item 2</li>
118
+ <li>Ordered list item 3</li>
119
+ </ol>
120
+ <p>Addresses are also styled to be <strong>awesome</strong>!</p>
121
+ <address>
122
+ <a href="mailto:john.doe@example.com">john.doe@example.com</a><br />
123
+ <a href="tel:778-330-2389">778-330-2389</a><br />
124
+ <a href="sms:666-666-6666">666-666-6666</a><br />
125
+ </address>
126
+ <br />
127
+ <h1>Heading 1</h1>
128
+ <h2>Heading 2</h2>
129
+ <h3>Heading 3</h3>
130
+ <h4>Heading 4</h4>
131
+ <h5>Heading 5</h5>
132
+ <h6>Heading 6</h6>
133
+ <footer><a href="#">Back to top ⬆</a></footer>
134
+ <script src="script.js" defer=""></script>
135
+ <div style="position: static !important">
136
+ <div
137
+ data-lastpass-infield="true"
138
+ style="position: absolute !important; top: 0px !important; left: 0px !important"
139
+ ></div>
140
+ </div>
@@ -0,0 +1,3 @@
1
+ <%= link_to 'Home', root_path %> |
2
+ <%= link_to 'People', people_path %>
3
+ <hr />
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <header>
18
+ <%%= render 'layouts/navbar' %>
19
+ <hr />
20
+ </header>
21
+ <main>
22
+ <%%= yield %>
23
+ </main>
24
+ <footer>
25
+ <%%= render 'layouts/footer' %>
26
+ </footer>
27
+ </body>
28
+ </html>
29
+
@@ -0,0 +1,5 @@
1
+ # scaffold('people', 'first_name', 'last_name', 'age:integer', 'address:text')
2
+
3
+ 20.times do |i|
4
+ Person.create(first_name: "First #{i}", last_name: "Last #{i}", age: i, address: Faker::Address.full_address)
5
+ end
@@ -7,35 +7,32 @@ self.local_template_path = File.dirname(__FILE__)
7
7
 
8
8
  gac 'base rails 7 image created'
9
9
 
10
- # generate('devise:views')
10
+ prepare_environment
11
11
 
12
+ add_controller('home', 'index')
12
13
  add_scaffold('post', 'title', 'body:text')
13
- route("root 'posts#index'")
14
+ # route("root 'posts#index'")
15
+ # generate('devise:views')
14
16
 
15
17
  force_copy
16
18
 
17
- copy_file 'application_controller.rb' , 'app/controllers/application_controller.rb'
18
- copy_file 'turbo_controller.rb' , 'app/controllers/turbo_controller.rb'
19
+ directory "app/controllers"
20
+ directory "app/views"
19
21
 
20
- copy_file 'layouts/_alerts.html.erb' , 'app/views/layouts/_alerts.html.erb'
21
- copy_file 'layouts/_navbar.html.erb' , 'app/views/layouts/_navbar.html.erb'
22
- copy_file 'layouts/_footer.html.erb' , 'app/views/layouts/_footer.html.erb'
23
- template 'layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
22
+ # copy_file 'application_controller.rb' , 'app/controllers/application_controller.rb'
24
23
 
25
- copy_file 'config/initializers/devise_turbo.rb' , 'config/initializers/devise_turbo.rb'
26
-
27
- copy_file 'post/posts_controller.rb' , 'app/controllers/posts_controller.rb'
28
- copy_file 'post/_post.html.erb' , 'app/views/posts/_post.html.erb'
29
- copy_file 'post/post.rb' , 'app/models/post.rb'
24
+ # copy_file 'layouts/_alerts.html.erb' , 'app/views/layouts/_alerts.html.erb'
25
+ # copy_file 'layouts/_navbar.html.erb' , 'app/views/layouts/_navbar.html.erb'
26
+ # copy_file 'layouts/_footer.html.erb' , 'app/views/layouts/_footer.html.erb'
27
+ # template 'layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
30
28
 
31
29
  copy_file 'user.rb' , 'app/models/user.rb'
32
30
 
33
- copy_file 'application.html.erb' , 'app/views/layouts/application.html.erb'
34
- copy_file 'application_controller.rb' , 'app/controllers/application_controller.rb'
35
-
36
- add_migration('add_user_to_posts', 'user:belongs_to')
31
+ # copy_file 'application.html.erb' , 'app/views/layouts/application.html.erb'
32
+ # copy_file 'application_controller.rb' , 'app/controllers/application_controller.rb'
37
33
 
38
34
  after_bundle do
35
+ add_migration('add_user_to_posts', 'user:belongs_to')
39
36
  db_migrate
40
37
 
41
38
  append_to_file('db/seeds.rb', read_template('seed_data.rb'))
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ <h1>Devise</h1>
2
+
3
+ <p></p>
@@ -0,0 +1,3 @@
1
+ <footer>
2
+ <hr />
3
+ </footer>
@@ -0,0 +1,8 @@
1
+ <header>
2
+ <%= link_to 'Home', root_path %> |
3
+ <%# link_to 'Some Action', home_some_action_path %> |
4
+ <%# link_to 'Products', products_path %> |
5
+ <%# link_to 'Posts', posts_path %> |
6
+ <%# link_to 'People', people_path %>
7
+ <hr />
8
+ </header>
@@ -0,0 +1,24 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <%%= render 'layouts/navbar' %>
18
+ <%%= render 'layouts/alert' %>
19
+ <main>
20
+ <%%= yield %>
21
+ </main>
22
+ <%%= render 'layouts/footer' %>
23
+ </body>
24
+ </html>
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Description goes here
4
+ #
5
+ # exe/rag addons/test
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ prepare_environment
12
+
13
+ add_controller('home', 'index')
14
+
15
+ route("root 'home#index'")
16
+
17
+ force_copy
18
+
19
+ directory "app/controllers"
20
+ directory "app/views/home"
21
+ directory "app/views/layouts"
22
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
23
+
24
+ template 'db/seeds.rb' , 'db/seeds.rb'
25
+
26
+ after_bundle do
27
+ setup_db
28
+ end
29
+
30
+ def setup_db
31
+ # add_scaffold('post', 'title', 'body:text', 'user:references')
32
+ # add_scaffold('people', 'first_name', 'last_name', 'age:integer', 'address:text')
33
+ # add_scaffold('product', 'name', 'price:integer')
34
+
35
+ # db_migrate
36
+ # db_seed
37
+ end
38
+
39
+ # Other template command examples
40
+ # prepare_environment
41
+ # bundle_install
42
+ # css_install('tailwind')
43
+ # rails_command('db:migrate')
44
+ # rails_command('db:migrate')
45
+ # bundle_add('hotwire-rails')
46
+ # rails_command('hotwire:install')
47
+ # run('bin/importmap pin sortablejs')
48
+ # run('npm install daisyui')
49
+ # rubocop
50
+ #
51
+ # directory 'app/assets/images'
52
+ # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
53
+ # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
54
+ # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
55
+ # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
56
+ # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
57
+ # template 'home.css', 'app/assets/stylesheets/home.css'
58
+ #
59
+ # add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
60
+ # route(<<-'RUBY')
61
+ # PageController.action_methods.each do |action|
62
+ # get "/#{action}", to: "page##{action}", as: "page_#{action}"
63
+ # end
64
+ # RUBY
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ <h1>Test</h1>
2
+
3
+ <p>Description goes here</p>
@@ -0,0 +1,5 @@
1
+ <%= link_to 'Home', root_path %>
2
+ <%# link_to 'Products', products_path %>
3
+ <%# link_to 'Posts', posts_path %>
4
+ <%# link_to 'People', people_path %>
5
+ <hr />
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <header>
18
+ <%%= render 'layouts/navbar' %>
19
+ <hr />
20
+ </header>
21
+ <main>
22
+ <%%= yield %>
23
+ </main>
24
+ <footer>
25
+ <%%= render 'layouts/footer' %>
26
+ </footer>
27
+ </body>
28
+ </html>
29
+
@@ -0,0 +1,7 @@
1
+ # david = User.create(email: 'david@site.com', name: 'david', password: 'password')
2
+ # james = User.create(email: 'james@site.com', name: 'james', password: 'password')
3
+ # sally = User.create(email: 'sally@site.com', name: 'sally', password: 'password')
4
+
5
+ # 10.times do |i|
6
+ # Post.create(title: "Post #{i}", body: "This is the body of post #{i}", user: User.all.sample)
7
+ # end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Description goes here
4
+ #
5
+ # exe/rag addons/testy
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ prepare_environment
12
+
13
+ add_controller('home', 'index')
14
+
15
+ route("root 'home#index'")
16
+
17
+ force_copy
18
+
19
+ directory "app/controllers"
20
+ directory "app/views/home"
21
+ directory "app/views/layouts"
22
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
23
+
24
+ template 'db/seeds.rb' , 'db/seeds.rb'
25
+
26
+ after_bundle do
27
+ setup_db
28
+ end
29
+
30
+ def setup_db
31
+ # add_scaffold('post', 'title', 'body:text', 'user:references')
32
+ # add_scaffold('people', 'first_name', 'last_name', 'age:integer', 'address:text')
33
+ # add_scaffold('product', 'name', 'price:integer')
34
+
35
+ # db_migrate
36
+ # db_seed
37
+ end
38
+
39
+ # Other template command examples
40
+ # prepare_environment
41
+ # bundle_install
42
+ # css_install('tailwind')
43
+ # rails_command('db:migrate')
44
+ # rails_command('db:migrate')
45
+ # bundle_add('hotwire-rails')
46
+ # rails_command('hotwire:install')
47
+ # run('bin/importmap pin sortablejs')
48
+ # run('npm install daisyui')
49
+ # rubocop
50
+ #
51
+ # directory 'app/assets/images'
52
+ # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
53
+ # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
54
+ # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
55
+ # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
56
+ # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
57
+ # template 'home.css', 'app/assets/stylesheets/home.css'
58
+ #
59
+ # add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
60
+ # route(<<-'RUBY')
61
+ # PageController.action_methods.each do |action|
62
+ # get "/#{action}", to: "page##{action}", as: "page_#{action}"
63
+ # end
64
+ # RUBY
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ <h1>Testy</h1>
2
+
3
+ <p>Description goes here</p>
@@ -0,0 +1,5 @@
1
+ <%= link_to 'Home', root_path %>
2
+ <%# link_to 'Products', products_path %>
3
+ <%# link_to 'Posts', posts_path %>
4
+ <%# link_to 'People', people_path %>
5
+ <hr />
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ </head>
15
+
16
+ <body>
17
+ <header>
18
+ <%%= render 'layouts/navbar' %>
19
+ <hr />
20
+ </header>
21
+ <main>
22
+ <%%= yield %>
23
+ </main>
24
+ <footer>
25
+ <%%= render 'layouts/footer' %>
26
+ </footer>
27
+ </body>
28
+ </html>
29
+
@@ -0,0 +1,7 @@
1
+ # david = User.create(email: 'david@site.com', name: 'david', password: 'password')
2
+ # james = User.create(email: 'james@site.com', name: 'james', password: 'password')
3
+ # sally = User.create(email: 'sally@site.com', name: 'sally', password: 'password')
4
+
5
+ # 10.times do |i|
6
+ # Post.create(title: "Post #{i}", body: "This is the body of post #{i}", user: User.all.sample)
7
+ # end