rails_app_generator 0.2.31 → 0.2.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/after_templates/addons/brakeman/_.rb +1 -32
  4. data/after_templates/addons/bundler_audit/_.rb +31 -0
  5. data/after_templates/addons/bundler_audit/app/assets/images/brakeman.png +0 -0
  6. data/after_templates/addons/bundler_audit/app/assets/images/curl.png +0 -0
  7. data/after_templates/addons/bundler_audit/app/assets/images/output.png +0 -0
  8. data/after_templates/addons/bundler_audit/app/controllers/home_controller.rb +4 -0
  9. data/after_templates/addons/bundler_audit/app/views/home/advisories.html.erb +10 -0
  10. data/after_templates/addons/bundler_audit/app/views/home/index.html.erb +20 -0
  11. data/after_templates/addons/bundler_audit/app/views/layouts/_footer.html.erb +0 -0
  12. data/after_templates/addons/bundler_audit/app/views/layouts/_navbar.html.erb +3 -0
  13. data/after_templates/addons/bundler_audit/app/views/layouts/application.html.erb +29 -0
  14. data/after_templates/addons/kaminari/_.rb +70 -0
  15. data/after_templates/addons/kaminari/app/assets/images/kaminari-custom-views-detailed.png +0 -0
  16. data/after_templates/addons/kaminari/app/assets/images/kaminari-custom-views.png +0 -0
  17. data/after_templates/addons/kaminari/app/controllers/home_controller.rb +4 -0
  18. data/after_templates/addons/kaminari/app/controllers/posts_controller.rb +70 -0
  19. data/after_templates/addons/kaminari/app/views/home/index.html.erb +21 -0
  20. data/after_templates/addons/kaminari/app/views/layouts/_footer.html.erb +0 -0
  21. data/after_templates/addons/kaminari/app/views/layouts/_navbar.html.erb +3 -0
  22. data/after_templates/addons/kaminari/app/views/layouts/application.html.erb +34 -0
  23. data/after_templates/addons/kaminari/app/views/posts/index.html.erb +32 -0
  24. data/after_templates/addons/kaminari/db/seeds.rb +3 -0
  25. data/docs/last_run/app_generator_class.json +16 -0
  26. data/docs/last_run/app_generator_data.json +5 -3
  27. data/docs/last_run/rails_options_class.json +16 -0
  28. data/docs/last_run/rails_options_data.json +5 -3
  29. data/lib/rails_app_generator/addons/brakeman.rb +1 -0
  30. data/lib/rails_app_generator/addons/bundler_audit.rb +13 -0
  31. data/lib/rails_app_generator/addons/kaminari.rb +15 -0
  32. data/lib/rails_app_generator/app_generator.rb +2 -0
  33. data/lib/rails_app_generator/rag_initializer.rb +2 -0
  34. data/lib/rails_app_generator/version.rb +1 -1
  35. data/package-lock.json +2 -2
  36. data/package.json +1 -1
  37. data/profiles/addons/bundler_audit.json +13 -0
  38. data/profiles/addons/kaminari.json +14 -0
  39. data/templates/thor_task/profile/app/views/layouts/_footer.html.erb.tt +0 -1
  40. metadata +26 -2
  41. data/after_templates/addons/brakeman/db/seeds.rb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15c23f59cc83f0c3dd3ff9cabeef80af80d2a14bd18d8d890dbb100640bab22a
4
- data.tar.gz: 8acba70cf8a79185c8395f96762caa575968fb3521967ca4d1e80f282014d816
3
+ metadata.gz: 7b3d7a66cf0c689a6ae83cdf1bf1222b0027b26b71099970c1e1025d04abb86e
4
+ data.tar.gz: 51a7736f7d181418b5385f72922d53ea4762e445f18946ca467e40ab9b41ae96
5
5
  SHA512:
6
- metadata.gz: 137bc8d24086e7914baf7f332c7a1ff6bf7db9845771b007e545e9882895c886a1379da9f97fd5156a07902bf849ca2bac720cc981843cabba032107e8588714
7
- data.tar.gz: 8856d3e93f801687e6c9f3ec5a7581387c1109cfa224b3db479587527ec209ca09c2220b54a960ab29108c5fc6372aaad0c7eda71eed6761eaf876e51150f47d
6
+ metadata.gz: d354a5e6692cab7168c879df4c44824b171c97a5699e3a5416f067ed0a40ee2910ad2cbf0e74a25ac94ac229d859a01dcf92f4689023405a352260cc2bf3258c
7
+ data.tar.gz: 9c65703baf6aef3a6c224c936a29847e5ba960ab9a0e7a86aa5620f9910801d7b8f6c1a69df9d8411555e274a597b181dd257bf485cb73b174be3a6a345a4e20
data/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## [0.2.33](https://github.com/klueless-io/rails_app_generator/compare/v0.2.32...v0.2.33) (2022-08-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add kaminari addon ([b57fd5b](https://github.com/klueless-io/rails_app_generator/commit/b57fd5bdda219852b659404660187cbd0d8ec5dc))
7
+ * add kaminari addon ([d5774ed](https://github.com/klueless-io/rails_app_generator/commit/d5774ed173b0d594e2228278c2d34edce3a80ac9))
8
+
9
+ ## [0.2.32](https://github.com/klueless-io/rails_app_generator/compare/v0.2.31...v0.2.32) (2022-08-19)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * add bundler-audit addon ([bb8c2bc](https://github.com/klueless-io/rails_app_generator/commit/bb8c2bce5b1925ffe0b4c745894d7cebfc25498d))
15
+
16
+ ## [0.2.31](https://github.com/klueless-io/rails_app_generator/compare/v0.2.30...v0.2.31) (2022-08-19)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * add brakeman profile ([5cb8166](https://github.com/klueless-io/rails_app_generator/commit/5cb8166a4a1630edd07b7fcb70ca5eff6d2e7136))
22
+
1
23
  ## [0.2.30](https://github.com/klueless-io/rails_app_generator/compare/v0.2.29...v0.2.30) (2022-08-19)
2
24
 
3
25
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Description goes here
3
+ # Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications
4
4
  #
5
5
  # exe/rag addons/brakeman
6
6
 
@@ -18,8 +18,6 @@ end
18
18
 
19
19
  def scaffolds
20
20
  add_scaffold('post', 'title', 'body:text')
21
- # add_scaffold('people', 'first_name', 'last_name', 'age:integer', 'address:text')
22
- # add_scaffold('product', 'name', 'price:integer')
23
21
  end
24
22
 
25
23
  def setup_customizations
@@ -36,35 +34,6 @@ def setup_customizations
36
34
  end
37
35
 
38
36
  def setup_db
39
- template 'db/seeds.rb' , 'db/seeds.rb'
40
-
41
37
  db_migrate
42
38
  db_seed
43
39
  end
44
-
45
- # Other template command examples
46
- # prepare_environment
47
- # bundle_install
48
- # css_install('tailwind')
49
- # rails_command('db:migrate')
50
- # rails_command('db:migrate')
51
- # bundle_add('hotwire-rails')
52
- # rails_command('hotwire:install')
53
- # run('bin/importmap pin sortablejs')
54
- # run('npm install daisyui')
55
- # rubocop
56
- #
57
- # directory 'app/assets/images'
58
- # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
59
- # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
60
- # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
61
- # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
62
- # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
63
- # template 'home.css', 'app/assets/stylesheets/home.css'
64
- #
65
- # add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
66
- # route(<<-'RUBY')
67
- # PageController.action_methods.each do |action|
68
- # get "/#{action}", to: "page##{action}", as: "page_#{action}"
69
- # end
70
- # RUBY
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Patch-level verification for Bundler
4
+ #
5
+ # exe/rag addons/bundler_audit
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ prepare_environment
12
+
13
+ gem "brakeman", "4.5.0"
14
+ gem "curl"
15
+
16
+ after_bundle do
17
+ setup_customizations
18
+ end
19
+
20
+ def setup_customizations
21
+ route("root 'home#index'")
22
+
23
+ force_copy
24
+
25
+ add_controller('home', 'index', 'advisories')
26
+
27
+ directory "app/controllers"
28
+ directory "app/assets"
29
+ directory "app/views"
30
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
31
+ end
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,10 @@
1
+ <h1>Example Advisories from <b>ruby-advisory-db</b></h1>
2
+
3
+ <h2>Brakeman</h2>
4
+
5
+ <%= image_tag("brakeman.png") %>
6
+
7
+
8
+ <h2>Curl</h2>
9
+
10
+ <%= image_tag("curl.png") %>
@@ -0,0 +1,20 @@
1
+ <h1>Bundler audit</h1>
2
+
3
+ <p>Provides patch-level verification for Bundler</p>
4
+
5
+ <p>The following two GEMs have vulnerabilities listed in the <b>ruby-advisory-db</b></p>
6
+
7
+ <p>If you add the following to your Gemfile</p>
8
+
9
+ <pre><code>gem "brakeman", "4.5.0"
10
+ gem "curl"</code></pre>
11
+
12
+ <p>And then run the following command</p>
13
+
14
+ <pre><code>rm -rf Gemfile.lock
15
+ bundle install
16
+ bundler-audit</code></pre>
17
+
18
+ <p>You will see this output</p>
19
+
20
+ <%= image_tag("output.png") %>
@@ -0,0 +1,3 @@
1
+ <%= link_to 'Home', root_path %>
2
+ | <%= link_to 'Sample Advisories', home_advisories_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,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Description goes here
4
+ #
5
+ # exe/rag addons/kaminari
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ prepare_environment
12
+
13
+ after_bundle do
14
+ scaffolds
15
+ setup_customizations
16
+ setup_db
17
+ end
18
+
19
+ def scaffolds
20
+ add_scaffold('post', 'title', 'body:text', 'order:integer')
21
+ end
22
+
23
+ def setup_customizations
24
+ route("root 'home#index'")
25
+
26
+ force_copy
27
+
28
+ add_controller('home', 'index')
29
+
30
+ directory "app/controllers"
31
+ directory "app/assets"
32
+ directory "app/views"
33
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
34
+
35
+ gsub_file 'config/initializers/kaminari_config.rb', '# config.default_per_page = 25', 'config.default_per_page = 10'
36
+ end
37
+
38
+ def setup_db
39
+ template 'db/seeds.rb' , 'db/seeds.rb'
40
+
41
+ db_migrate
42
+ db_seed
43
+ end
44
+
45
+ # Other template command examples
46
+ # prepare_environment
47
+ # bundle_install
48
+ # css_install('tailwind')
49
+ # rails_command('db:migrate')
50
+ # rails_command('db:migrate')
51
+ # bundle_add('hotwire-rails')
52
+ # rails_command('hotwire:install')
53
+ # run('bin/importmap pin sortablejs')
54
+ # run('npm install daisyui')
55
+ # rubocop
56
+ #
57
+ # directory 'app/assets/images'
58
+ # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
59
+ # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
60
+ # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
61
+ # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
62
+ # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
63
+ # template 'home.css', 'app/assets/stylesheets/home.css'
64
+ #
65
+ # add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
66
+ # route(<<-'RUBY')
67
+ # PageController.action_methods.each do |action|
68
+ # get "/#{action}", to: "page##{action}", as: "page_#{action}"
69
+ # end
70
+ # RUBY
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,70 @@
1
+ class PostsController < ApplicationController
2
+ before_action :set_post, only: %i[ show edit update destroy ]
3
+
4
+ # GET /posts or /posts.json
5
+ def index
6
+ @posts = Post.page(params[:page])
7
+ end
8
+
9
+ # GET /posts/1 or /posts/1.json
10
+ def show
11
+ end
12
+
13
+ # GET /posts/new
14
+ def new
15
+ @post = Post.new
16
+ end
17
+
18
+ # GET /posts/1/edit
19
+ def edit
20
+ end
21
+
22
+ # POST /posts or /posts.json
23
+ def create
24
+ @post = Post.new(post_params)
25
+
26
+ respond_to do |format|
27
+ if @post.save
28
+ format.html { redirect_to post_url(@post), notice: "Post was successfully created." }
29
+ format.json { render :show, status: :created, location: @post }
30
+ else
31
+ format.html { render :new, status: :unprocessable_entity }
32
+ format.json { render json: @post.errors, status: :unprocessable_entity }
33
+ end
34
+ end
35
+ end
36
+
37
+ # PATCH/PUT /posts/1 or /posts/1.json
38
+ def update
39
+ respond_to do |format|
40
+ if @post.update(post_params)
41
+ format.html { redirect_to post_url(@post), notice: "Post was successfully updated." }
42
+ format.json { render :show, status: :ok, location: @post }
43
+ else
44
+ format.html { render :edit, status: :unprocessable_entity }
45
+ format.json { render json: @post.errors, status: :unprocessable_entity }
46
+ end
47
+ end
48
+ end
49
+
50
+ # DELETE /posts/1 or /posts/1.json
51
+ def destroy
52
+ @post.destroy
53
+
54
+ respond_to do |format|
55
+ format.html { redirect_to posts_url, notice: "Post was successfully destroyed." }
56
+ format.json { head :no_content }
57
+ end
58
+ end
59
+
60
+ private
61
+ # Use callbacks to share common setup or constraints between actions.
62
+ def set_post
63
+ @post = Post.find(params[:id])
64
+ end
65
+
66
+ # Only allow a list of trusted parameters through.
67
+ def post_params
68
+ params.require(:post).permit(:title, :body, :order)
69
+ end
70
+ end
@@ -0,0 +1,21 @@
1
+ <h1>Kaminari</h1>
2
+
3
+ <p>Easily add pagination to your Ruby web apps</p>
4
+
5
+ <h2>Configuration for this example is located at</h2>
6
+
7
+ <pre><code>config/initializers/kaminari_config.rb</code></pre>
8
+
9
+ <pre><code><%= File.read("config/initializers/kaminari_config.rb") %></code></pre>
10
+
11
+ <h2>Run this template generator if you need to customize the pagination views</h2>
12
+
13
+ <pre><code>rails g kaminari:views default</code></pre>
14
+
15
+ <h3>List of files</h3>
16
+
17
+ <%= image_tag("kaminari-custom-views.png") %>
18
+
19
+ <h3>File details</h3>
20
+
21
+ <%= image_tag("kaminari-custom-views-detailed.png") %>
@@ -0,0 +1,3 @@
1
+ <%= link_to 'Home', root_path %>
2
+ | <%= link_to 'Posts', posts_path %>
3
+ <hr />
@@ -0,0 +1,34 @@
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
+ <style>
15
+ table {
16
+ table-layout: auto;
17
+ }
18
+ </style>
19
+ </head>
20
+
21
+ <body>
22
+ <header>
23
+ <%%= render 'layouts/navbar' %>
24
+ <hr />
25
+ </header>
26
+ <main>
27
+ <%%= yield %>
28
+ </main>
29
+ <footer>
30
+ <%%= render 'layouts/footer' %>
31
+ </footer>
32
+ </body>
33
+ </html>
34
+
@@ -0,0 +1,32 @@
1
+ <p style="color: green"><%= notice %></p>
2
+
3
+ <h1>Posts</h1>
4
+
5
+ <%= link_to "New post", new_post_path %>
6
+
7
+ <hr>
8
+ <%= paginate @posts %>
9
+ <hr>
10
+
11
+ <div id="posts">
12
+ <h1>Players List</h1>
13
+ <table>
14
+ <tr>
15
+ <th>Title</th>
16
+ <th>Body</th>
17
+ <th>Order</th>
18
+ <th></th>
19
+ </tr>
20
+ <% @posts.each do |post| %>
21
+ <tr>
22
+ <td><%=post.title %></td>
23
+ <td><%=post.body %></td><td>
24
+ <td><%=post.order %></td>
25
+ <td><%= link_to 'Show', post %></td>
26
+ </tr>
27
+ <% end %>
28
+ </table>
29
+ </div>
30
+
31
+ <%= page_entries_info @posts %>
32
+
@@ -0,0 +1,3 @@
1
+ 105.times do |i|
2
+ Post.create(title: "Post #{i}", body: Faker::Lorem.words(number: 5).join(' '), order: i)
3
+ end
@@ -47,6 +47,7 @@
47
47
  "add_bcrypt",
48
48
  "add_brakeman",
49
49
  "add_browser",
50
+ "add_bundler_audit",
50
51
  "add_chartkick",
51
52
  "add_devise",
52
53
  "add_devise_masquerade",
@@ -56,6 +57,7 @@
56
57
  "add_hexapdf",
57
58
  "add_httparty",
58
59
  "add_honeybadger",
60
+ "add_kaminari",
59
61
  "add_lograge",
60
62
  "add_minimal_css",
61
63
  "minimal_css_library",
@@ -400,6 +402,13 @@
400
402
  "default": false,
401
403
  "required": false
402
404
  },
405
+ {
406
+ "name": "add_bundler_audit",
407
+ "description": "Indicates when to generate add bundler audit",
408
+ "type": "boolean",
409
+ "default": false,
410
+ "required": false
411
+ },
403
412
  {
404
413
  "name": "add_chartkick",
405
414
  "description": "Indicates when to generate add chartkick",
@@ -463,6 +472,13 @@
463
472
  "default": false,
464
473
  "required": false
465
474
  },
475
+ {
476
+ "name": "add_kaminari",
477
+ "description": "Indicates when to generate add kaminari",
478
+ "type": "boolean",
479
+ "default": false,
480
+ "required": false
481
+ },
466
482
  {
467
483
  "name": "add_lograge",
468
484
  "description": "Indicates when to generate add lograge",
@@ -35,17 +35,19 @@
35
35
  "add_annotate": false,
36
36
  "add_avo": false,
37
37
  "add_bcrypt": false,
38
- "add_brakeman": true,
38
+ "add_brakeman": false,
39
39
  "add_browser": false,
40
+ "add_bundler_audit": false,
40
41
  "add_chartkick": false,
41
42
  "add_devise": false,
42
43
  "add_devise_masquerade": false,
43
44
  "add_dotenv": false,
44
- "add_faker": false,
45
+ "add_faker": true,
45
46
  "add_groupdate": false,
46
47
  "add_hexapdf": false,
47
48
  "add_httparty": false,
48
49
  "add_honeybadger": false,
50
+ "add_kaminari": true,
49
51
  "add_lograge": false,
50
52
  "add_minimal_css": true,
51
53
  "minimal_css_library": "water.css",
@@ -59,6 +61,6 @@
59
61
  "add_rolify": false,
60
62
  "add_rubocop": false,
61
63
  "add_twilio_ruby": false,
62
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/brakeman/_.rb"
64
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/kaminari/_.rb"
63
65
  }
64
66
  }
@@ -47,6 +47,7 @@
47
47
  "add_bcrypt",
48
48
  "add_brakeman",
49
49
  "add_browser",
50
+ "add_bundler_audit",
50
51
  "add_chartkick",
51
52
  "add_devise",
52
53
  "add_devise_masquerade",
@@ -56,6 +57,7 @@
56
57
  "add_hexapdf",
57
58
  "add_httparty",
58
59
  "add_honeybadger",
60
+ "add_kaminari",
59
61
  "add_lograge",
60
62
  "add_minimal_css",
61
63
  "minimal_css_library",
@@ -400,6 +402,13 @@
400
402
  "default": false,
401
403
  "required": false
402
404
  },
405
+ {
406
+ "name": "add_bundler_audit",
407
+ "description": "",
408
+ "type": "boolean",
409
+ "default": false,
410
+ "required": false
411
+ },
403
412
  {
404
413
  "name": "add_chartkick",
405
414
  "description": "",
@@ -463,6 +472,13 @@
463
472
  "default": false,
464
473
  "required": false
465
474
  },
475
+ {
476
+ "name": "add_kaminari",
477
+ "description": "",
478
+ "type": "boolean",
479
+ "default": false,
480
+ "required": false
481
+ },
466
482
  {
467
483
  "name": "add_lograge",
468
484
  "description": "",
@@ -7,7 +7,7 @@
7
7
  "quiet": false,
8
8
  "skip": false,
9
9
  "ruby": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
10
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/brakeman/_.rb",
10
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/kaminari/_.rb",
11
11
  "database": "sqlite3",
12
12
  "skip_git": true,
13
13
  "skip_keeps": false,
@@ -45,17 +45,19 @@
45
45
  "add_annotate": false,
46
46
  "add_avo": false,
47
47
  "add_bcrypt": false,
48
- "add_brakeman": true,
48
+ "add_brakeman": false,
49
49
  "add_browser": false,
50
+ "add_bundler_audit": false,
50
51
  "add_chartkick": false,
51
52
  "add_devise": false,
52
53
  "add_devise_masquerade": false,
53
54
  "add_dotenv": false,
54
- "add_faker": false,
55
+ "add_faker": true,
55
56
  "add_groupdate": false,
56
57
  "add_hexapdf": false,
57
58
  "add_httparty": false,
58
59
  "add_honeybadger": false,
60
+ "add_kaminari": true,
59
61
  "add_lograge": false,
60
62
  "add_minimal_css": true,
61
63
  "minimal_css_library": "water.css",
@@ -5,6 +5,7 @@ module RailsAppGenerator
5
5
  module AddOns
6
6
  # Add Brakeman to rails application
7
7
  class Brakeman < RailsAppGenerator::Addon
8
+ # TODO: This needs to go into the development group
8
9
  required_gem gem.version('brakeman', '5.3.1', 'Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications')
9
10
 
10
11
  def apply; end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAppGenerator
4
+ # Custom add-ons for RailsAppGenerator
5
+ module AddOns
6
+ # Add BundlerAudit to rails application
7
+ class BundlerAudit < RailsAppGenerator::Addon
8
+ required_gem gem.version('bundler-audit', '0.9.1', 'Patch-level verification for Bundler')
9
+
10
+ def apply; end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAppGenerator
4
+ # Custom add-ons for RailsAppGenerator
5
+ module AddOns
6
+ # Add Kaminari to rails application
7
+ class Kaminari < RailsAppGenerator::Addon
8
+ required_gem gem.version('kaminari', '1.2.2', 'Easily add pagination to your Ruby web apps')
9
+
10
+ def apply
11
+ generate('kaminari:config')
12
+ end
13
+ end
14
+ end
15
+ end
@@ -174,6 +174,7 @@ module RailsAppGenerator
174
174
  add_if(:bcrypt) # tested
175
175
  add_if(:brakeman) # tested
176
176
  add_if(:browser) # tested
177
+ add_if(:bundler_audit) # tested
177
178
  add_if(:chartkick) # tested
178
179
  add_if(:continuous_integration) # TODO: needs work
179
180
  add_if(:devise) # tested
@@ -189,6 +190,7 @@ module RailsAppGenerator
189
190
  add_if(:httparty) # tested
190
191
  add_if(:high_voltage) # TODO: needs testing
191
192
  add_if(:honeybadger) # tested
193
+ add_if(:kaminari) # tested
192
194
  add_if(:lograge) # tested
193
195
  add_if(:minimal_css) # tested (this is NOT a GEM)
194
196
  add_if(:mini_magick) # tested
@@ -109,6 +109,7 @@ KConfig.configure do |config|
109
109
  rag.add_option :add_bcrypt , type: :boolean, default: false
110
110
  rag.add_option :add_brakeman , type: :boolean, default: false
111
111
  rag.add_option :add_browser , type: :boolean, default: false
112
+ rag.add_option :add_bundler_audit , type: :boolean, default: false
112
113
  rag.add_option :add_chartkick , type: :boolean, default: false
113
114
  # continuous_integration
114
115
  rag.add_option :add_devise , type: :boolean, default: false
@@ -124,6 +125,7 @@ KConfig.configure do |config|
124
125
  rag.add_option :add_httparty , type: :boolean, default: false
125
126
  # high_voltage
126
127
  rag.add_option :add_honeybadger , type: :boolean, default: false
128
+ rag.add_option :add_kaminari , type: :boolean, default: false
127
129
  rag.add_option :add_lograge , type: :boolean, default: false
128
130
  rag.add_option :add_minimal_css , type: :boolean, default: false
129
131
  rag.add_option :minimal_css_library , type: :string, default: 'water.css', description: "Minimal CSS library to get you started. [options: water.css (default)]"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.2.31'
4
+ VERSION = '0.2.34'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.31",
3
+ "version": "0.2.34",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.2.31",
9
+ "version": "0.2.34",
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.31",
3
+ "version": "0.2.34",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
@@ -0,0 +1,13 @@
1
+ {
2
+ "args": {
3
+ "app_path": "r7_bundler_audit",
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/bundler_audit/_.rb",
11
+ "add_bundler_audit": true
12
+ }
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "args": {
3
+ "app_path": "r7_kaminari",
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/kaminari/_.rb",
11
+ "add_faker": true,
12
+ "add_kaminari": true
13
+ }
14
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_app_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.31
4
+ version: 0.2.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -232,10 +232,19 @@ files:
232
232
  - after_templates/addons/brakeman/app/views/layouts/_footer.html.erb
233
233
  - after_templates/addons/brakeman/app/views/layouts/_navbar.html.erb
234
234
  - after_templates/addons/brakeman/app/views/layouts/application.html.erb
235
- - after_templates/addons/brakeman/db/seeds.rb
236
235
  - after_templates/addons/browser/_.rb
237
236
  - after_templates/addons/browser/app/controllers/home_controller.rb
238
237
  - after_templates/addons/browser/app/views/home/index.html.erb
238
+ - after_templates/addons/bundler_audit/_.rb
239
+ - after_templates/addons/bundler_audit/app/assets/images/brakeman.png
240
+ - after_templates/addons/bundler_audit/app/assets/images/curl.png
241
+ - after_templates/addons/bundler_audit/app/assets/images/output.png
242
+ - after_templates/addons/bundler_audit/app/controllers/home_controller.rb
243
+ - after_templates/addons/bundler_audit/app/views/home/advisories.html.erb
244
+ - after_templates/addons/bundler_audit/app/views/home/index.html.erb
245
+ - after_templates/addons/bundler_audit/app/views/layouts/_footer.html.erb
246
+ - after_templates/addons/bundler_audit/app/views/layouts/_navbar.html.erb
247
+ - after_templates/addons/bundler_audit/app/views/layouts/application.html.erb
239
248
  - after_templates/addons/chartkick/_.rb
240
249
  - after_templates/addons/chartkick/app/controllers/home_controller.rb
241
250
  - after_templates/addons/chartkick/app/views/home/index.html.erb
@@ -304,6 +313,17 @@ files:
304
313
  - after_templates/addons/httparty/app/views/layouts/_footer.html.erb
305
314
  - after_templates/addons/httparty/app/views/layouts/_navbar.html.erb
306
315
  - after_templates/addons/httparty/app/views/layouts/application.html.erb
316
+ - after_templates/addons/kaminari/_.rb
317
+ - after_templates/addons/kaminari/app/assets/images/kaminari-custom-views-detailed.png
318
+ - after_templates/addons/kaminari/app/assets/images/kaminari-custom-views.png
319
+ - after_templates/addons/kaminari/app/controllers/home_controller.rb
320
+ - after_templates/addons/kaminari/app/controllers/posts_controller.rb
321
+ - after_templates/addons/kaminari/app/views/home/index.html.erb
322
+ - after_templates/addons/kaminari/app/views/layouts/_footer.html.erb
323
+ - after_templates/addons/kaminari/app/views/layouts/_navbar.html.erb
324
+ - after_templates/addons/kaminari/app/views/layouts/application.html.erb
325
+ - after_templates/addons/kaminari/app/views/posts/index.html.erb
326
+ - after_templates/addons/kaminari/db/seeds.rb
307
327
  - after_templates/addons/lograge/_.rb
308
328
  - after_templates/addons/lograge/app/controllers/home_controller.rb
309
329
  - after_templates/addons/lograge/app/views/home/index.html.erb
@@ -606,6 +626,7 @@ files:
606
626
  - lib/rails_app_generator/addons/bcrypt.rb
607
627
  - lib/rails_app_generator/addons/brakeman.rb
608
628
  - lib/rails_app_generator/addons/browser.rb
629
+ - lib/rails_app_generator/addons/bundler_audit.rb
609
630
  - lib/rails_app_generator/addons/chartkick.rb
610
631
  - lib/rails_app_generator/addons/continuous_integration.rb
611
632
  - lib/rails_app_generator/addons/devise.rb
@@ -624,6 +645,7 @@ files:
624
645
  - lib/rails_app_generator/addons/httparty.rb
625
646
  - lib/rails_app_generator/addons/inline_svg.rb
626
647
  - lib/rails_app_generator/addons/irbrc.rb
648
+ - lib/rails_app_generator/addons/kaminari.rb
627
649
  - lib/rails_app_generator/addons/lograge.rb
628
650
  - lib/rails_app_generator/addons/mini_magick.rb
629
651
  - lib/rails_app_generator/addons/minimal_css.rb
@@ -687,6 +709,7 @@ files:
687
709
  - profiles/addons/bcrypt.json
688
710
  - profiles/addons/brakeman.json
689
711
  - profiles/addons/browser.json
712
+ - profiles/addons/bundler_audit.json
690
713
  - profiles/addons/chartkick.json
691
714
  - profiles/addons/devise.json
692
715
  - profiles/addons/devise_masquerade.json
@@ -695,6 +718,7 @@ files:
695
718
  - profiles/addons/hexapdf.json
696
719
  - profiles/addons/honeybadger.json
697
720
  - profiles/addons/httparty.json
721
+ - profiles/addons/kaminari.json
698
722
  - profiles/addons/lograge.json
699
723
  - profiles/addons/mini_magick.json
700
724
  - profiles/addons/minimal_css.json
@@ -1,7 +0,0 @@
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