rails_app_generator 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|