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 +4 -4
- data/CHANGELOG.md +8 -0
- data/after_templates/addons/bcrypt_ruby/_.rb +37 -0
- data/after_templates/addons/bcrypt_ruby/app/controllers/home_controller.rb +7 -0
- data/after_templates/addons/bcrypt_ruby/app/models/user.rb +20 -0
- data/after_templates/addons/bcrypt_ruby/app/views/home/index.html.erb +9 -0
- data/after_templates/addons/bcrypt_ruby/app/views/layouts/_footer.html.erb +3 -0
- data/after_templates/addons/bcrypt_ruby/app/views/layouts/_navbar.html.erb +5 -0
- data/after_templates/addons/bcrypt_ruby/app/views/layouts/application.html.erb +23 -0
- data/after_templates/addons/bcrypt_ruby/app/views/users/_form.html.erb +27 -0
- data/after_templates/addons/bcrypt_ruby/app/views/users/_user.html.erb +17 -0
- data/after_templates/addons/bcrypt_ruby/db/seeds.rb +3 -0
- data/docs/last_run/app_generator_data.json +3 -2
- data/docs/last_run/rails_options_data.json +3 -2
- data/lib/rails_app_generator/addons/bcrypt_ruby.rb +2 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/bcrypt_ruby.json +12 -0
- data/templates/thor_task/profile/after_template.rb +1 -0
- data/templates/thor_task/profile/app/views/layouts/application.html.erb.tt +0 -5
- metadata +12 -2
- data/templates/thor_task/profile/app/views/layouts/_alerts.html.erb.tt +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e803a1080601b2097577a2d62570ed49a99e4ba73a5d17308e116a3da303ea9
|
4
|
+
data.tar.gz: 0ce18a4307afb75ceaa51ec62f24e25a30cd32b96a32a5e7c5a3269a960eaec2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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,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,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>
|
@@ -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":
|
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/
|
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/
|
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":
|
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
|
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.8",
|
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.8",
|
10
10
|
"dependencies": {
|
11
11
|
"daisyui": "^2.20.0"
|
12
12
|
},
|
data/package.json
CHANGED
@@ -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
|
+
}
|
@@ -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.
|
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
|