authentication-zero 0.0.23 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +3 -1
  4. data/lib/authentication_zero/version.rb +1 -1
  5. data/lib/generators/authentication/authentication_generator.rb +54 -25
  6. data/lib/generators/authentication/templates/{app/controllers → controllers}/api/cancellations_controller.rb.tt +0 -0
  7. data/lib/generators/authentication/templates/{app/controllers → controllers}/api/emails_controller.rb.tt +0 -0
  8. data/lib/generators/authentication/templates/{app/controllers → controllers}/api/password_resets_controller.rb.tt +3 -2
  9. data/lib/generators/authentication/templates/{app/controllers → controllers}/api/passwords_controller.rb.tt +0 -0
  10. data/lib/generators/authentication/templates/{app/controllers → controllers}/api/registrations_controller.rb.tt +0 -0
  11. data/lib/generators/authentication/templates/{app/controllers → controllers}/api/sessions_controller.rb.tt +0 -0
  12. data/lib/generators/authentication/templates/{app/controllers → controllers}/html/cancellations_controller.rb.tt +0 -0
  13. data/lib/generators/authentication/templates/{app/controllers → controllers}/html/emails_controller.rb.tt +0 -0
  14. data/lib/generators/authentication/templates/{app/controllers → controllers}/html/password_resets_controller.rb.tt +3 -2
  15. data/lib/generators/authentication/templates/{app/controllers → controllers}/html/passwords_controller.rb.tt +0 -0
  16. data/lib/generators/authentication/templates/{app/controllers → controllers}/html/registrations_controller.rb.tt +0 -0
  17. data/lib/generators/authentication/templates/{app/controllers → controllers}/html/sessions_controller.rb.tt +0 -0
  18. data/lib/generators/authentication/templates/{app/views → erb}/cancellations/new.html.erb.tt +0 -0
  19. data/lib/generators/authentication/templates/{app/views → erb}/email_mailer/changed.html.erb.tt +0 -0
  20. data/lib/generators/authentication/templates/{app/views → erb}/email_mailer/changed.text.erb.tt +0 -0
  21. data/lib/generators/authentication/templates/{app/views → erb}/emails/edit.html.erb.tt +0 -0
  22. data/lib/generators/authentication/templates/{app/views → erb}/password_mailer/changed.html.erb.tt +0 -0
  23. data/lib/generators/authentication/templates/{app/views → erb}/password_mailer/changed.text.erb.tt +0 -0
  24. data/lib/generators/authentication/templates/{app/views → erb}/password_mailer/reset.html.erb.tt +0 -0
  25. data/lib/generators/authentication/templates/{app/views → erb}/password_mailer/reset.text.erb.tt +0 -0
  26. data/lib/generators/authentication/templates/{app/views → erb}/password_resets/edit.html.erb.tt +0 -0
  27. data/lib/generators/authentication/templates/{app/views → erb}/password_resets/new.html.erb.tt +1 -1
  28. data/lib/generators/authentication/templates/{app/views → erb}/passwords/edit.html.erb.tt +0 -0
  29. data/lib/generators/authentication/templates/{app/views → erb}/registrations/new.html.erb.tt +0 -0
  30. data/lib/generators/authentication/templates/{app/views → erb}/sessions/new.html.erb.tt +0 -0
  31. data/lib/generators/authentication/templates/{app/mailers → mailers}/email_mailer.rb.tt +0 -0
  32. data/lib/generators/authentication/templates/{app/mailers → mailers}/password_mailer.rb.tt +1 -1
  33. data/lib/generators/authentication/templates/{app/models → models}/current.rb.tt +0 -0
  34. data/lib/generators/authentication/templates/{app/models → models}/model.rb.tt +2 -2
  35. data/lib/generators/authentication/templates/test_unit/controllers/api/password_resets_controller_test.rb.tt +3 -4
  36. data/lib/generators/authentication/templates/test_unit/controllers/html/password_resets_controller_test.rb.tt +4 -5
  37. data/lib/generators/authentication/templates/test_unit/system/password_resets_test.rb.tt +1 -1
  38. metadata +31 -31
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78818129456d7a394a2a456605b007a2d0d68203038bb79ac0a8d9b74a9de59d
4
- data.tar.gz: 7a7b8485f5c7cb9d3573e1768e25b40ba2de04fcf27d97d2383696ffabdb2249
3
+ metadata.gz: c038ff0229826dcb0ef7416e95f41ef7e18a01a7e5993a3995eb992c2a21a44a
4
+ data.tar.gz: 6295fb855b41a0ea8242916c18c40686f41d6f32e83fe66ed8922fe3b2c24ee7
5
5
  SHA512:
6
- metadata.gz: 23bf695588244691a1a9db956f0f096e785ecd83bba969d05c7ee109b00a3a97c30a6ad13b3f874ac1f783f49181b0bdd92ff7f9cfa31b05ae223af1734ab420
7
- data.tar.gz: 0b360acf0cb305053ca5610cb2a7de73ba3a2b2a091090ddd770f7ca99daa0e2ad48e5eebdba9d1e216e13418f4ff6c93802403f5c5f12de0ee7e0c0de42fb01
6
+ metadata.gz: fbbbb3287c24e23260ca3ad7adcc206c864f02843c255c111b6c1f06fd822581db35c522358dfa60a626e83bb2eb0f8494274847185a122f9cd90726c94ae2cf
7
+ data.tar.gz: fb427adb9595073f03b76bba0683cafd5ce9a699b25d79bbd4df2902abc7f4643f326a4b25c017ce6ab98b7e21d69d0532539aaeec8a018c3d69b7fd597f4d81
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- authentication-zero (0.0.23)
4
+ authentication-zero (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -27,7 +27,7 @@ The purpose of authentication zero is to generate a pre-built authentication sys
27
27
  - [Action mailer](https://api.rubyonrails.org/classes/ActionMailer/Base.html): Action Mailer allows you to send email from your application using a mailer model and views.
28
28
  - [Log filtering](https://guides.rubyonrails.org/action_controller_overview.html#log-filtering): Parameters 'token' and 'password' are marked [FILTERED] in the log.
29
29
  - [Functional Tests](https://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers): In Rails, testing the various actions of a controller is a form of writing functional tests.
30
- - [System Testing][https://guides.rubyonrails.org/testing.html#system-testing]: System tests allow you to test user interactions with your application, running tests in either a real or a headless browser.
30
+ - [System Testing](https://guides.rubyonrails.org/testing.html#system-testing): System tests allow you to test user interactions with your application, running tests in either a real or a headless browser.
31
31
 
32
32
  ## Installation
33
33
 
@@ -83,6 +83,8 @@ config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
83
83
  $ rails generate authentication user
84
84
  ```
85
85
 
86
+ Then run `bundle install` again!
87
+
86
88
  ## Development
87
89
 
88
90
  To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
@@ -1,3 +1,3 @@
1
1
  module AuthenticationZero
2
- VERSION = "0.0.23"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -1,28 +1,40 @@
1
1
  require "rails/generators/active_record"
2
2
 
3
3
  class AuthenticationGenerator < Rails::Generators::NamedBase
4
- include ActiveRecord::Generators::Migration
5
-
6
4
  class_option :api, type: :boolean, desc: "Generates API authentication"
5
+
6
+ class_option :migration, type: :boolean, default: true
7
+ class_option :test_framework, type: :string, desc: "Test framework to be invoked"
8
+
9
+ class_option :fixture, type: :boolean, default: true
7
10
  class_option :system_tests, type: :string, desc: "Skip system test files"
8
11
 
12
+ class_option :skip_routes, type: :boolean
13
+ class_option :template_engine, type: :string, desc: "Template engine to be invoked"
14
+
9
15
  source_root File.expand_path("templates", __dir__)
10
16
 
11
17
  def add_bcrypt
12
- uncomment_lines 'Gemfile', /bcrypt/
18
+ uncomment_lines "Gemfile", /bcrypt/
13
19
  end
14
20
 
15
- def create_migrations
16
- invoke "migration", ["create_#{table_name}", "email:string:uniq", "password_digest:string", "session_token:string:uniq"]
21
+ def create_migration
22
+ if options.migration
23
+ invoke "migration", ["create_#{table_name}", "email:string:uniq", "password:digest", "session_token:string:uniq"]
24
+ end
17
25
  end
18
26
 
19
27
  def create_models
20
- template "app/models/model.rb", "app/models/#{file_name}.rb"
21
- template "app/models/current.rb", "app/models/current.rb"
28
+ template "models/model.rb", "app/models/#{file_name}.rb"
29
+ template "models/current.rb", "app/models/current.rb"
22
30
  end
23
31
 
32
+ hook_for :fixture_replacement
33
+
24
34
  def create_fixture_file
25
- template "test_unit/fixtures.yml", "test/fixtures/#{fixture_file_name}.yml"
35
+ if options.fixture && options.fixture_replacement.nil?
36
+ template "#{test_framework}/fixtures.yml", "test/fixtures/#{fixture_file_name}.yml"
37
+ end
26
38
  end
27
39
 
28
40
  def add_application_controller_methods
@@ -57,42 +69,59 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
57
69
  end
58
70
 
59
71
  def create_controllers
60
- directory "app/controllers/#{format_folder}", "app/controllers"
72
+ directory "controllers/#{format_folder}", "app/controllers"
61
73
  end
62
74
 
63
75
  def create_views
64
76
  if options.api
65
- directory "app/views/email_mailer", "app/views/email_mailer"
66
- directory "app/views/password_mailer", "app/views/password_mailer"
77
+ directory "erb/email_mailer", "app/views/email_mailer"
78
+ directory "erb/password_mailer", "app/views/password_mailer"
67
79
  else
68
- directory "app/views", "app/views"
80
+ directory "#{template_engine}", "app/views"
69
81
  end
70
82
  end
71
83
 
72
84
  def create_mailers
73
- template "app/mailers/email_mailer.rb", "app/mailers/email_mailer.rb"
74
- template "app/mailers/password_mailer.rb", "app/mailers/password_mailer.rb"
85
+ directory "mailers", "app/mailers"
75
86
  end
76
87
 
77
88
  def add_routes
78
- route "resource :password_resets, only: [:new, :edit, :create, :update]"
79
- route "resource :cancellations, only: [:new, :create]"
80
- route "resource :passwords, only: [:edit, :update]"
81
- route "resource :emails, only: [:edit, :update]"
82
- route "delete 'sign_out', to: 'sessions#destroy'"
83
- route "post 'sign_up', to: 'registrations#create'"
84
- route "get 'sign_up', to: 'registrations#new'" unless options.api?
85
- route "post 'sign_in', to: 'sessions#create'"
86
- route "get 'sign_in', to: 'sessions#new'" unless options.api?
89
+ unless options.skip_routes
90
+ route "resource :password_resets, only: [:new, :edit, :create, :update]"
91
+ route "resource :cancellations, only: [:new, :create]"
92
+ route "resource :passwords, only: [:edit, :update]"
93
+ route "resource :emails, only: [:edit, :update]"
94
+ route "delete 'sign_out', to: 'sessions#destroy'"
95
+ route "post 'sign_up', to: 'registrations#create'"
96
+ route "get 'sign_up', to: 'registrations#new'" unless options.api?
97
+ route "post 'sign_in', to: 'sessions#create'"
98
+ route "get 'sign_in', to: 'sessions#new'" unless options.api?
99
+ end
87
100
  end
88
101
 
89
102
  def create_test_files
90
- directory "test_unit/controllers/#{format_folder}", "test/controllers"
91
- directory "test_unit/system", "test/system" if !options.api? && options[:system_tests]
103
+ directory "#{test_framework}/controllers/#{format_folder}", "test/controllers"
104
+ directory "#{system_tests}/system", "test/system" if system_tests?
92
105
  end
93
106
 
94
107
  private
95
108
  def format_folder
96
109
  options.api ? "api" : "html"
97
110
  end
111
+
112
+ def template_engine
113
+ options.template_engine
114
+ end
115
+
116
+ def test_framework
117
+ options.test_framework
118
+ end
119
+
120
+ def system_tests
121
+ options.system_tests
122
+ end
123
+
124
+ def system_tests?
125
+ !options.api? && options.system_tests
126
+ end
98
127
  end
@@ -1,5 +1,6 @@
1
1
  class PasswordResetsController < ApplicationController
2
2
  skip_before_action :authenticate
3
+
3
4
  before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
4
5
 
5
6
  def edit
@@ -10,7 +11,7 @@ class PasswordResetsController < ApplicationController
10
11
  if @<%= singular_table_name %> = <%= class_name %>.find_by_email(params[:email])
11
12
  PasswordMailer.with(<%= singular_table_name %>: @<%= singular_table_name %>).reset.deliver_later
12
13
  else
13
- render json: { error: "The email address doesn't exist in our database" }, status: :not_found
14
+ render json: { error: "Sorry, we didn't recognize that email address" }, status: :not_found
14
15
  end
15
16
  end
16
17
 
@@ -24,7 +25,7 @@ class PasswordResetsController < ApplicationController
24
25
 
25
26
  private
26
27
  def set_<%= singular_table_name %>
27
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: "password_reset")
28
+ @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: :password_reset)
28
29
  rescue ActiveSupport::MessageVerifier::InvalidSignature
29
30
  render json: { error: "Your token has expired, please request a new one" }, status: :bad_request
30
31
  end
@@ -1,5 +1,6 @@
1
1
  class PasswordResetsController < ApplicationController
2
2
  skip_before_action :authenticate
3
+
3
4
  before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
4
5
 
5
6
  def new
@@ -13,7 +14,7 @@ class PasswordResetsController < ApplicationController
13
14
  PasswordMailer.with(<%= singular_table_name %>: @<%= singular_table_name %>).reset.deliver_later
14
15
  redirect_to sign_in_path, notice: "You will receive an email with instructions on how to reset your password in a few minutes"
15
16
  else
16
- redirect_to new_password_resets_path(email_hint: params[:email]), alert: "The email address doesn't exist in our database"
17
+ redirect_to new_password_resets_path, alert: "Sorry, we didn't recognize that email address"
17
18
  end
18
19
  end
19
20
 
@@ -27,7 +28,7 @@ class PasswordResetsController < ApplicationController
27
28
 
28
29
  private
29
30
  def set_<%= singular_table_name %>
30
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: "password_reset")
31
+ @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: :password_reset)
31
32
  rescue ActiveSupport::MessageVerifier::InvalidSignature
32
33
  redirect_to new_password_resets_path, alert: "Your token has expired, please request a new one"
33
34
  end
@@ -5,7 +5,7 @@
5
5
  <%%= form_with(url: password_resets_path) do |form| %>
6
6
  <div>
7
7
  <%%= form.label :email, style: "display: block" %>
8
- <%%= form.email_field :email, value: params[:email_hint], autofocus: true, required: true %>
8
+ <%%= form.email_field :email, autofocus: true, required: true %>
9
9
  </div>
10
10
 
11
11
  <div>
@@ -4,7 +4,7 @@ class PasswordMailer < ApplicationMailer
4
4
  end
5
5
 
6
6
  def reset
7
- @signed_id = params[:<%= singular_table_name %>].signed_id(purpose: "password_reset", expires_in: 20.minutes)
7
+ @signed_id = params[:<%= singular_table_name %>].signed_id(purpose: :password_reset, expires_in: 20.minutes)
8
8
  mail to: params[:<%= singular_table_name %>].email
9
9
  end
10
10
  end
@@ -23,11 +23,11 @@ class <%= class_name %> < ApplicationRecord
23
23
  end
24
24
  <% if options.api? %>
25
25
  def signed_session_token
26
- self.class.signed_id_verifier.generate(session_token)
26
+ Rails.application.message_verifier(:session_token).generate(session_token)
27
27
  end
28
28
 
29
29
  def self.find_signed_session_token(signed_session_token)
30
- if session_token = signed_id_verifier.verified(signed_session_token)
30
+ if session_token = Rails.application.message_verifier(:session_token).verified(signed_session_token)
31
31
  find_by_session_token(session_token)
32
32
  end
33
33
  end
@@ -3,8 +3,8 @@ require "test_helper"
3
3
  class PasswordResetsControllerTest < ActionDispatch::IntegrationTest
4
4
  setup do
5
5
  @<%= singular_table_name %> = <%= table_name %>(:lazaro_nixon)
6
- @sid = @<%= singular_table_name %>.signed_id(purpose: "password_reset", expires_in: 20.minutes)
7
- @sid_exp = @<%= singular_table_name %>.signed_id(purpose: "password_reset", expires_in: 0.minutes)
6
+ @sid = @<%= singular_table_name %>.signed_id(purpose: :password_reset, expires_in: 20.minutes)
7
+ @sid_exp = @<%= singular_table_name %>.signed_id(purpose: :password_reset, expires_in: 0.minutes)
8
8
  end
9
9
 
10
10
  test "should get edit" do
@@ -28,12 +28,11 @@ class PasswordResetsControllerTest < ActionDispatch::IntegrationTest
28
28
  end
29
29
 
30
30
  assert_response :not_found
31
- assert_equal "The email address doesn't exist in our database", response.parsed_body["error"]
31
+ assert_equal "Sorry, we didn't recognize that email address", response.parsed_body["error"]
32
32
  end
33
33
 
34
34
  test "should update password" do
35
35
  patch password_resets_url, params: { token: @sid, password: "new_password", password_confirmation: "new_password" }
36
-
37
36
  assert_response :success
38
37
  end
39
38
 
@@ -3,8 +3,8 @@ require "test_helper"
3
3
  class PasswordResetsControllerTest < ActionDispatch::IntegrationTest
4
4
  setup do
5
5
  @<%= singular_table_name %> = <%= table_name %>(:lazaro_nixon)
6
- @sid = @<%= singular_table_name %>.signed_id(purpose: "password_reset", expires_in: 20.minutes)
7
- @sid_exp = @<%= singular_table_name %>.signed_id(purpose: "password_reset", expires_in: 0.minutes)
6
+ @sid = @<%= singular_table_name %>.signed_id(purpose: :password_reset, expires_in: 20.minutes)
7
+ @sid_exp = @<%= singular_table_name %>.signed_id(purpose: :password_reset, expires_in: 0.minutes)
8
8
  end
9
9
 
10
10
  test "should get new" do
@@ -30,13 +30,12 @@ class PasswordResetsControllerTest < ActionDispatch::IntegrationTest
30
30
  post password_resets_url, params: { email: "invalid_email@hey.com" }
31
31
  end
32
32
 
33
- assert_redirected_to new_password_resets_url(email_hint: "invalid_email@hey.com")
34
- assert_equal "The email address doesn't exist in our database", flash[:alert]
33
+ assert_redirected_to new_password_resets_url
34
+ assert_equal "Sorry, we didn't recognize that email address", flash[:alert]
35
35
  end
36
36
 
37
37
  test "should update password" do
38
38
  patch password_resets_url, params: { token: @sid, <%= singular_table_name %>: { password: "new_password", password_confirmation: "new_password" } }
39
-
40
39
  assert_redirected_to sign_in_path
41
40
  end
42
41
 
@@ -3,7 +3,7 @@ require "application_system_test_case"
3
3
  class PasswordResetsTest < ApplicationSystemTestCase
4
4
  setup do
5
5
  @<%= singular_table_name %> = <%= table_name %>(:lazaro_nixon)
6
- @sid = @<%= singular_table_name %>.signed_id(purpose: "password_reset", expires_in: 20.minutes)
6
+ @sid = @<%= singular_table_name %>.signed_id(purpose: :password_reset, expires_in: 20.minutes)
7
7
  end
8
8
 
9
9
  test "sending a password reset email" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authentication-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nixon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-21 00:00:00.000000000 Z
11
+ date: 2022-02-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -31,35 +31,35 @@ files:
31
31
  - lib/authentication_zero/version.rb
32
32
  - lib/generators/authentication/USAGE
33
33
  - lib/generators/authentication/authentication_generator.rb
34
- - lib/generators/authentication/templates/app/controllers/api/cancellations_controller.rb.tt
35
- - lib/generators/authentication/templates/app/controllers/api/emails_controller.rb.tt
36
- - lib/generators/authentication/templates/app/controllers/api/password_resets_controller.rb.tt
37
- - lib/generators/authentication/templates/app/controllers/api/passwords_controller.rb.tt
38
- - lib/generators/authentication/templates/app/controllers/api/registrations_controller.rb.tt
39
- - lib/generators/authentication/templates/app/controllers/api/sessions_controller.rb.tt
40
- - lib/generators/authentication/templates/app/controllers/html/cancellations_controller.rb.tt
41
- - lib/generators/authentication/templates/app/controllers/html/emails_controller.rb.tt
42
- - lib/generators/authentication/templates/app/controllers/html/password_resets_controller.rb.tt
43
- - lib/generators/authentication/templates/app/controllers/html/passwords_controller.rb.tt
44
- - lib/generators/authentication/templates/app/controllers/html/registrations_controller.rb.tt
45
- - lib/generators/authentication/templates/app/controllers/html/sessions_controller.rb.tt
46
- - lib/generators/authentication/templates/app/mailers/email_mailer.rb.tt
47
- - lib/generators/authentication/templates/app/mailers/password_mailer.rb.tt
48
- - lib/generators/authentication/templates/app/models/current.rb.tt
49
- - lib/generators/authentication/templates/app/models/model.rb.tt
50
- - lib/generators/authentication/templates/app/views/cancellations/new.html.erb.tt
51
- - lib/generators/authentication/templates/app/views/email_mailer/changed.html.erb.tt
52
- - lib/generators/authentication/templates/app/views/email_mailer/changed.text.erb.tt
53
- - lib/generators/authentication/templates/app/views/emails/edit.html.erb.tt
54
- - lib/generators/authentication/templates/app/views/password_mailer/changed.html.erb.tt
55
- - lib/generators/authentication/templates/app/views/password_mailer/changed.text.erb.tt
56
- - lib/generators/authentication/templates/app/views/password_mailer/reset.html.erb.tt
57
- - lib/generators/authentication/templates/app/views/password_mailer/reset.text.erb.tt
58
- - lib/generators/authentication/templates/app/views/password_resets/edit.html.erb.tt
59
- - lib/generators/authentication/templates/app/views/password_resets/new.html.erb.tt
60
- - lib/generators/authentication/templates/app/views/passwords/edit.html.erb.tt
61
- - lib/generators/authentication/templates/app/views/registrations/new.html.erb.tt
62
- - lib/generators/authentication/templates/app/views/sessions/new.html.erb.tt
34
+ - lib/generators/authentication/templates/controllers/api/cancellations_controller.rb.tt
35
+ - lib/generators/authentication/templates/controllers/api/emails_controller.rb.tt
36
+ - lib/generators/authentication/templates/controllers/api/password_resets_controller.rb.tt
37
+ - lib/generators/authentication/templates/controllers/api/passwords_controller.rb.tt
38
+ - lib/generators/authentication/templates/controllers/api/registrations_controller.rb.tt
39
+ - lib/generators/authentication/templates/controllers/api/sessions_controller.rb.tt
40
+ - lib/generators/authentication/templates/controllers/html/cancellations_controller.rb.tt
41
+ - lib/generators/authentication/templates/controllers/html/emails_controller.rb.tt
42
+ - lib/generators/authentication/templates/controllers/html/password_resets_controller.rb.tt
43
+ - lib/generators/authentication/templates/controllers/html/passwords_controller.rb.tt
44
+ - lib/generators/authentication/templates/controllers/html/registrations_controller.rb.tt
45
+ - lib/generators/authentication/templates/controllers/html/sessions_controller.rb.tt
46
+ - lib/generators/authentication/templates/erb/cancellations/new.html.erb.tt
47
+ - lib/generators/authentication/templates/erb/email_mailer/changed.html.erb.tt
48
+ - lib/generators/authentication/templates/erb/email_mailer/changed.text.erb.tt
49
+ - lib/generators/authentication/templates/erb/emails/edit.html.erb.tt
50
+ - lib/generators/authentication/templates/erb/password_mailer/changed.html.erb.tt
51
+ - lib/generators/authentication/templates/erb/password_mailer/changed.text.erb.tt
52
+ - lib/generators/authentication/templates/erb/password_mailer/reset.html.erb.tt
53
+ - lib/generators/authentication/templates/erb/password_mailer/reset.text.erb.tt
54
+ - lib/generators/authentication/templates/erb/password_resets/edit.html.erb.tt
55
+ - lib/generators/authentication/templates/erb/password_resets/new.html.erb.tt
56
+ - lib/generators/authentication/templates/erb/passwords/edit.html.erb.tt
57
+ - lib/generators/authentication/templates/erb/registrations/new.html.erb.tt
58
+ - lib/generators/authentication/templates/erb/sessions/new.html.erb.tt
59
+ - lib/generators/authentication/templates/mailers/email_mailer.rb.tt
60
+ - lib/generators/authentication/templates/mailers/password_mailer.rb.tt
61
+ - lib/generators/authentication/templates/models/current.rb.tt
62
+ - lib/generators/authentication/templates/models/model.rb.tt
63
63
  - lib/generators/authentication/templates/test_unit/controllers/api/cancellations_controller_test.rb.tt
64
64
  - lib/generators/authentication/templates/test_unit/controllers/api/emails_controller_test.rb.tt
65
65
  - lib/generators/authentication/templates/test_unit/controllers/api/password_resets_controller_test.rb.tt