rails_app_generator 0.2.7 → 0.2.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 445a95cd20f4f77c1ac1e1cc587d7c613718f0a78e0e1b3fd4b7bb9fbb4c7b0a
4
- data.tar.gz: 28fa7c5091cccb5b7610a11748dcd197bde5cd2319cb696fbb961066ff6831ef
3
+ metadata.gz: 3e803a1080601b2097577a2d62570ed49a99e4ba73a5d17308e116a3da303ea9
4
+ data.tar.gz: 0ce18a4307afb75ceaa51ec62f24e25a30cd32b96a32a5e7c5a3269a960eaec2
5
5
  SHA512:
6
- metadata.gz: 12e593aa71b493ff0e9aa96b3a180c86b19230a2aa247e309467fcffcd30c5e2869c43c97b2e3c0b3e68b72dcc7b3097d7dbc69e49af08911a2ab899c40f39d8
7
- data.tar.gz: '0783313d06b010a6c7ba215b61e2f2bad5d7c32c42b016d3844a886fd2f435fd76f2756ae2af6645ebdc73a08dd645c836b22f764b3153c5823f2ca77619fb4a'
6
+ metadata.gz: 1863f937b018927dc812d5fddbd36af00cb77b0c6e9e1550cf060fd08007a11d1c0a9824e87d0deea328a583e5c75b584a529a55c006a0fb509d2333ae0f0c2f
7
+ data.tar.gz: a9a0814e79a2dc2eca868ec1e1e60849362063668970bb5e4bbeda998c70e65ab2ea9f0e54cc13507d8e624002857812ae5b18251b3d6ae040dc603cc5d53b57
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [0.2.7](https://github.com/klueless-io/rails_app_generator/compare/v0.2.6...v0.2.7) (2022-08-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add bcrypt_ruby addon ([34eb3ca](https://github.com/klueless-io/rails_app_generator/commit/34eb3ca4236804dec52ea995addbb1e3749336d9))
7
+ * add bcrypt_ruby addon ([4622249](https://github.com/klueless-io/rails_app_generator/commit/4622249b03ab204728432d04d4743e8ba8569ec3))
8
+
1
9
  ## [0.2.6](https://github.com/klueless-io/rails_app_generator/compare/v0.2.5...v0.2.6) (2022-08-10)
2
10
 
3
11
 
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ # bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords.
4
+ #
5
+ # exe/rag addons/bcrypt_ruby
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ bundle_install
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('user', 'name', 'password', 'password_hash')
32
+ directory "app/models"
33
+ directory "app/views/users"
34
+
35
+ db_migrate
36
+ db_seed
37
+ end
@@ -0,0 +1,7 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+
5
+ def some_action
6
+ end
7
+ end
@@ -0,0 +1,20 @@
1
+ require 'bcrypt'
2
+
3
+ class User < ApplicationRecord
4
+ # users.password_hash in the database is a :string
5
+ include BCrypt
6
+
7
+ def password
8
+ return nil if password_hash.nil?
9
+ @password ||= Password.new(password_hash)
10
+ end
11
+
12
+ def password=(new_password)
13
+ @password = Password.create(new_password)
14
+ self.password_hash = @password
15
+ end
16
+
17
+ def match?(password)
18
+ self.password == password
19
+ end
20
+ end
@@ -0,0 +1,9 @@
1
+ <h1>Bcrypt ruby</h1>
2
+
3
+ <h2>bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords.</h2>
4
+
5
+ <p>If you are using Rails you should probaly be using <code>ActiveModel::SecurePassword</code> instead of using bcrypt</p>
6
+
7
+
8
+
9
+
@@ -0,0 +1,3 @@
1
+ <footer>
2
+ <hr />
3
+ </footer>
@@ -0,0 +1,5 @@
1
+ <header>
2
+ <%= link_to 'Home', root_path %> |
3
+ <%= link_to 'Users', users_path %>
4
+ <hr />
5
+ </header>
@@ -0,0 +1,23 @@
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
+ <main>
19
+ <%%= yield %>
20
+ </main>
21
+ <%%= render 'layouts/footer' %>
22
+ </body>
23
+ </html>
@@ -0,0 +1,27 @@
1
+ <%= form_with(model: user) do |form| %>
2
+ <% if user.errors.any? %>
3
+ <div style="color: red">
4
+ <h2><%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:</h2>
5
+
6
+ <ul>
7
+ <% user.errors.each do |error| %>
8
+ <li><%= error.full_message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div>
15
+ <%= form.label :name, style: "display: block" %>
16
+ <%= form.text_field :name %>
17
+ </div>
18
+
19
+ <div>
20
+ <%= form.label :password, style: "display: block" %>
21
+ <%= form.text_field :password %>
22
+ </div>
23
+
24
+ <div>
25
+ <%= form.submit %>
26
+ </div>
27
+ <% end %>
@@ -0,0 +1,17 @@
1
+ <div id="<%= dom_id user %>">
2
+ <p>
3
+ <strong>Name:</strong>
4
+ <%= user.name %>
5
+ </p>
6
+
7
+ <p>
8
+ <strong>Password:</strong>
9
+ <%= user.password %>
10
+ </p>
11
+
12
+ <p>match?('password1'): <%= user.match?('password1') ? '<strong>TRUE</strong>'.html_safe : false %></p>
13
+ <p>match?('password2'): <%= user.match?('password2') ? '<strong>TRUE</strong>'.html_safe : false %></p>
14
+ <p>match?('password3'): <%= user.match?('password3') ? '<strong>TRUE</strong>'.html_safe : false %></p>
15
+ <p>match?('hello'): <%= user.match?('hello') ? '<strong>TRUE</strong>'.html_safe : false %></p>
16
+
17
+ </div>
@@ -0,0 +1,3 @@
1
+ david = User.create(name: 'david', password: 'password1')
2
+ james = User.create(name: 'james', password: 'password2')
3
+ sally = User.create(name: 'sally', password: 'password3')
@@ -37,6 +37,7 @@
37
37
  "add_lograge": false,
38
38
  "add_acts_as_list": false,
39
39
  "add_browser": false,
40
+ "add_bcrypt_ruby": true,
40
41
  "add_chartkick": false,
41
42
  "add_faker": false,
42
43
  "add_groupdate": false,
@@ -44,10 +45,10 @@
44
45
  "add_httparty": false,
45
46
  "add_honeybadger": false,
46
47
  "add_mini_magick": false,
47
- "add_phony_rails": true,
48
+ "add_phony_rails": false,
48
49
  "add_public_suffix": false,
49
50
  "add_rails_html_sanitizer": false,
50
51
  "add_twilio_ruby": false,
51
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/phony_rails/_.rb"
52
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/bcrypt_ruby/_.rb"
52
53
  }
53
54
  }
@@ -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/phony_rails/_.rb",
10
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/bcrypt_ruby/_.rb",
11
11
  "database": "sqlite3",
12
12
  "skip_git": true,
13
13
  "skip_keeps": false,
@@ -47,6 +47,7 @@
47
47
  "add_lograge": false,
48
48
  "add_acts_as_list": false,
49
49
  "add_browser": false,
50
+ "add_bcrypt_ruby": true,
50
51
  "add_chartkick": false,
51
52
  "add_faker": false,
52
53
  "add_groupdate": false,
@@ -54,7 +55,7 @@
54
55
  "add_httparty": false,
55
56
  "add_honeybadger": false,
56
57
  "add_mini_magick": false,
57
- "add_phony_rails": true,
58
+ "add_phony_rails": false,
58
59
  "add_public_suffix": false,
59
60
  "add_rails_html_sanitizer": false,
60
61
  "add_twilio_ruby": false
@@ -7,6 +7,8 @@ module RailsAppGenerator
7
7
  class BcryptRuby < RailsAppGenerator::Addon
8
8
  required_gem gem.version('bcrypt-ruby', '3.1.5', 'bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords.')
9
9
 
10
+ # If you are using Rails you should probably be using
11
+ # <code>ActiveModel::SecurePassword</code> instead of using bcrypt
10
12
  def apply; end
11
13
  end
12
14
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.2.7'
4
+ VERSION = '0.2.8'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.2.7",
9
+ "version": "0.2.8",
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.7",
3
+ "version": "0.2.8",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
@@ -0,0 +1,12 @@
1
+ {
2
+ "args": {
3
+ "app_path": "bcrypt_ruby",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_test": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/bcrypt_ruby/_.rb",
10
+ "add_bcrypt_ruby": true
11
+ }
12
+ }
@@ -33,6 +33,7 @@ def setup_db
33
33
  # add_scaffold('product', 'name', 'price:integer')
34
34
 
35
35
  # db_migrate
36
+ # db_seed
36
37
  end
37
38
 
38
39
  # Other template command examples
@@ -11,16 +11,11 @@
11
11
  <%- else -%>
12
12
  <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
13
  <%- end -%>
14
- <style>
15
- .alert { color: red; }
16
- .notice { color: green; }
17
- </style>
18
14
  </head>
19
15
 
20
16
  <body>
21
17
  <%%= render 'layouts/navbar' %>
22
18
  <main>
23
- <%%= render 'layouts/alerts' %>
24
19
  <%%= yield %>
25
20
  </main>
26
21
  <%%= render 'layouts/footer' %>
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.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -189,6 +189,16 @@ files:
189
189
  - after_templates/addons/acts_as_list/app/views/todo_items/index.html.erb
190
190
  - after_templates/addons/acts_as_list/config/routes.rb
191
191
  - after_templates/addons/acts_as_list/db/seeds.rb
192
+ - after_templates/addons/bcrypt_ruby/_.rb
193
+ - after_templates/addons/bcrypt_ruby/app/controllers/home_controller.rb
194
+ - after_templates/addons/bcrypt_ruby/app/models/user.rb
195
+ - after_templates/addons/bcrypt_ruby/app/views/home/index.html.erb
196
+ - after_templates/addons/bcrypt_ruby/app/views/layouts/_footer.html.erb
197
+ - after_templates/addons/bcrypt_ruby/app/views/layouts/_navbar.html.erb
198
+ - after_templates/addons/bcrypt_ruby/app/views/layouts/application.html.erb
199
+ - after_templates/addons/bcrypt_ruby/app/views/users/_form.html.erb
200
+ - after_templates/addons/bcrypt_ruby/app/views/users/_user.html.erb
201
+ - after_templates/addons/bcrypt_ruby/db/seeds.rb
192
202
  - after_templates/addons/browser/_.rb
193
203
  - after_templates/addons/browser/app/controllers/home_controller.rb
194
204
  - after_templates/addons/browser/app/views/home/index.html.erb
@@ -541,6 +551,7 @@ files:
541
551
  - package-lock.json
542
552
  - package.json
543
553
  - profiles/addons/acts_as_list.json
554
+ - profiles/addons/bcrypt_ruby.json
544
555
  - profiles/addons/browser.json
545
556
  - profiles/addons/chartkick.json
546
557
  - profiles/addons/dotenv.json
@@ -618,7 +629,6 @@ files:
618
629
  - templates/thor_task/profile/after_template.rb
619
630
  - templates/thor_task/profile/app/controllers/home_controller.rb
620
631
  - templates/thor_task/profile/app/views/home/index.html.erb.tt
621
- - templates/thor_task/profile/app/views/layouts/_alerts.html.erb.tt
622
632
  - templates/thor_task/profile/app/views/layouts/_footer.html.erb.tt
623
633
  - templates/thor_task/profile/app/views/layouts/_navbar.html.erb
624
634
  - templates/thor_task/profile/app/views/layouts/application.html.erb.tt
@@ -1,2 +0,0 @@
1
- <% flash.each do |type, msg| %><div class="<%= type %>"><%= msg %></div><% end %>
2
- <% if flash.any? %><hr /><% end %>