hello-rails 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -4
  3. data/app/controllers/hello/concerns/management/forgot_password.rb +1 -1
  4. data/app/controllers/hello/concerns/registration/sign_up.rb +7 -3
  5. data/app/controllers/hello/registration/sign_up_controller.rb +9 -1
  6. data/app/models/access.rb +2 -1
  7. data/app/models/credential.rb +2 -1
  8. data/app/models/email_credential.rb +2 -1
  9. data/app/models/password_credential.rb +2 -1
  10. data/app/models/user.rb +2 -1
  11. data/app/views/hello/shared/_nav_pills.html.erb +0 -2
  12. data/config/locales/hello.fr.yml +2 -4
  13. data/db/migrate/3_create_users.rb +10 -15
  14. data/lib/data/locales.yml +228 -0
  15. data/lib/generators/hello/install/install_generator.rb +8 -29
  16. data/lib/generators/hello/install/templates/initializer.rb +1 -1
  17. data/lib/generators/hello/install/templates/models/concerns/user/authorization.rb +8 -13
  18. data/lib/generators/hello/install/templates/models/user.rb +2 -1
  19. data/lib/generators/hello/users/USAGE +10 -0
  20. data/lib/generators/hello/{install/templates/users → users/templates/app}/controllers/users_controller.rb +2 -4
  21. data/lib/generators/hello/{install/templates/users → users/templates/app}/views/users/index.html.erb +1 -1
  22. data/lib/generators/hello/{install/templates/users → users/templates/app}/views/users/list.html.erb +3 -1
  23. data/lib/generators/hello/{install/templates/users → users/templates/app}/views/users/new.html.erb +2 -2
  24. data/lib/generators/hello/{install/templates/users → users/templates/app}/views/users/show.html.erb +0 -0
  25. data/lib/generators/hello/users/users_generator.rb +21 -0
  26. data/lib/hello/business/registration/sign_up.rb +30 -122
  27. data/lib/hello/locales.rb +1 -232
  28. data/lib/hello/rails_active_record/access.rb +12 -10
  29. data/lib/hello/rails_active_record/credential.rb +22 -18
  30. data/lib/hello/rails_active_record/email_credential.rb +12 -20
  31. data/lib/hello/rails_active_record/password_credential.rb +11 -32
  32. data/lib/hello/rails_active_record/user.rb +75 -54
  33. data/lib/hello/rails_controller.rb +1 -3
  34. data/lib/hello/rails_controller/restrict_by_role.rb +2 -2
  35. data/lib/hello/version.rb +1 -1
  36. data/spec/bdd/hello/authentication/classic_sign_in_spec.rb +2 -2
  37. data/spec/bdd/hello/internalionalization/anyone_can_change_their_locale/change_locale_on_the_sign_in_form_spec.rb +1 -1
  38. data/spec/bdd/hello/management/manage_email_credentials/manage_email_credentials_emails_page_spec.rb +7 -7
  39. data/spec/bdd/hello/management/manage_password_credentials/manage_password_forgot_password_spec.rb +1 -1
  40. data/spec/bdd/hello/management/manage_password_credentials/manage_password_reset_password_spec.rb +1 -1
  41. data/spec/bdd/hello/management/manage_profile/manage_profile_page_spec.rb +0 -2
  42. data/spec/bdd/hello/other/create_user_spec.rb +1 -3
  43. data/spec/bdd/hello/other/impersonate_user_spec.rb +1 -2
  44. data/spec/bdd/hello/other/list_users_spec.rb +2 -4
  45. data/spec/bdd/hello/registration/classic_sign_up_spec.rb +3 -4
  46. data/spec/bdd/hello/support.rb +0 -4
  47. data/spec/business/hello/registration/sign_up_spec.rb +10 -2
  48. data/spec/controllers/authentication_spec.rb +3 -3
  49. data/spec/models/create_and_destroy/email_credential_create_and_destroy_spec.rb +81 -0
  50. data/spec/models/create_and_destroy/password_credential_create_and_destroy_spec.rb +60 -0
  51. data/spec/models/create_and_destroy/user_create_and_destroy_spec.rb +124 -0
  52. data/spec/models/credential_spec.rb +12 -3
  53. data/spec/models/email_credential_spec.rb +1 -2
  54. data/spec/models/password_credential_spec.rb +1 -2
  55. data/spec/models/user_spec.rb +87 -27
  56. data/spec/requests/forgot_password_spec.rb +1 -1
  57. data/spec/support/factories.rb +10 -14
  58. data/spec/support/helpers/given.rb +8 -16
  59. data/spec/support/helpers/when.rb +0 -1
  60. metadata +42 -38
  61. data/lib/generators/hello/from_devise/USAGE +0 -8
  62. data/lib/generators/hello/from_devise/from_devise_generator.rb +0 -13
  63. data/lib/generators/hello/from_devise/templates/from_devise.migration.rb +0 -39
  64. data/spec/models/hello/sign_up_model_spec.rb +0 -64
@@ -2,8 +2,17 @@ require 'spec_helper'
2
2
 
3
3
  describe Credential do
4
4
  example 'Validations' do
5
- subject.valid?
6
- expect(subject.errors.messages).to eq(user: ["can't be blank"],
7
- type: ['is not included in the list'])
5
+ expect(subject.valid?).to eq(true)
6
+ expect(subject.errors.messages).to eq({})
7
+ end
8
+
9
+ example 'Saving Validations' do
10
+ # can save without a user
11
+ expect(subject.save).to eq(true)
12
+ expect(subject.errors.messages).to eq({})
13
+
14
+ # cannot update without a user
15
+ expect(subject.save).to eq(false)
16
+ expect(subject.errors.messages).to eq({:user => ["can't be blank"]})
8
17
  end
9
18
  end
@@ -3,8 +3,7 @@ require 'spec_helper'
3
3
  describe EmailCredential do
4
4
  example 'Validations' do
5
5
  subject.valid?
6
- expect(subject.errors.messages).to eq(user: ["can't be blank"],
7
- email: ["can't be blank"])
6
+ expect(subject.errors.messages).to eq(email: ["can't be blank"])
8
7
  end
9
8
 
10
9
  context 'Fields' do
@@ -4,8 +4,7 @@ describe PasswordCredential do
4
4
  describe 'validations' do
5
5
  it 'presence of name' do
6
6
  subject.valid?
7
- expect(subject.errors.messages).to eq(user: ["can't be blank"],
8
- password: ["can't be blank"])
7
+ expect(subject.errors.messages).to eq(password: ["can't be blank"])
9
8
  end
10
9
  end
11
10
 
@@ -18,15 +18,30 @@ describe User do
18
18
  end
19
19
 
20
20
  describe 'validations' do
21
- it 'validations' do
21
+ it 'creating' do
22
22
  @user.valid?
23
- # city is only here because we need to test code customization, and this is how we are currently testing it
24
23
  expect(@user.errors.messages).to eq(
25
- name: ["can't be blank"],
26
- locale: ["can't be blank", 'is not included in the list'],
27
- time_zone: ["can't be blank", 'is not included in the list'],
28
- city: ["can't be blank"],
29
- username: ["can't be blank", 'is invalid', 'is too short (minimum is 4 characters)']
24
+ :name=>["can't be blank"],
25
+ :locale=>["can't be blank", 'is not included in the list'],
26
+ :time_zone=>["can't be blank", 'is not included in the list'],
27
+ :username=>["can't be blank"],
28
+ :email=>["can't be blank"],
29
+ :password=>["can't be blank"],
30
+ :email_credentials=>["is too short (minimum is 1 character)"],
31
+ )
32
+ end
33
+
34
+ it 'updating' do
35
+ @user = create(:user)
36
+ attrs = attributes_for(:user)
37
+ attrs.each { |k, _v| attrs[k] = nil }
38
+ expect(@user.update(attrs)).to eq(false)
39
+ expect(@user.errors.messages).to eq(
40
+ :name=>["can't be blank"],
41
+ :locale=>["can't be blank", 'is not included in the list'],
42
+ :time_zone=>["can't be blank", 'is not included in the list'],
43
+ :username=>["can't be blank"],
44
+ :role=>["can't be blank"],
30
45
  )
31
46
  end
32
47
  end
@@ -42,20 +57,75 @@ describe User do
42
57
  describe 'username' do
43
58
  describe 'validations' do
44
59
  describe 'uniqueness' do
45
- def test_uniqueness(a, b)
46
- create(:user, username: a)
47
- user = build(:user, username: b)
48
- user.valid?
49
- # expect(user.errors.messages).to eq(1)
50
- expect(user.errors.added?(:username, :taken)).to eq(true)
60
+ def expects_uniqueness_to_be_applied(a, b)
61
+ user1 = build(:user)
62
+ user1.username = a
63
+ user1.save!
64
+
65
+ user2 = build(:user)
66
+ user2.username = b
67
+ user2.valid?
68
+ expect(user2.errors.messages).to eq({:username=>["has already been taken"]})
51
69
  end
52
70
 
53
- it 'normal case' do
54
- test_uniqueness('james', 'james')
71
+ def expects_uniqueness_to_be_ignored(a, b)
72
+ user1 = build(:user)
73
+ user1.username = a
74
+ user1.save!
75
+
76
+ user2 = build(:user)
77
+ user2.username = b
78
+ user2.save!
79
+ expect(user2.errors.messages).to eq({})
55
80
  end
56
81
 
57
- it 'downcase' do
58
- test_uniqueness('JaMeS', 'james')
82
+ describe "config" do
83
+ subject { build(:user, username: '', email: 'foo@bar.com') }
84
+ after do
85
+ reload_initializer!
86
+ end
87
+
88
+ describe 'config.username_presence = true' do
89
+ before do
90
+ Hello.configure { |config| config.username_presence = true }
91
+ end
92
+
93
+ it 'requires a username' do
94
+ expect(subject).to be_invalid
95
+ expect(subject.errors.messages).to eq({:username=>["can't be blank"]})
96
+ end
97
+
98
+ it 'expects uniqueness to be applied for normal-cased usernames' do
99
+ expects_uniqueness_to_be_applied('james', 'james')
100
+ end
101
+
102
+ it 'expects uniqueness to be applied for down-cased usernames' do
103
+ expects_uniqueness_to_be_applied('JaMeS', 'james')
104
+ end
105
+ end
106
+
107
+ describe 'config.username_presence = false' do
108
+ before do
109
+ Hello.configure { |config| config.username_presence = false }
110
+ end
111
+
112
+ it 'does not require a username' do
113
+ expect(subject).to be_valid
114
+ expect(subject.errors.messages).to eq({})
115
+ end
116
+
117
+ it 'expects uniqueness to be applied for normal-cased usernames' do
118
+ expects_uniqueness_to_be_applied('james', 'james')
119
+ end
120
+
121
+ it 'expects uniqueness to be applied for down-cased usernames' do
122
+ expects_uniqueness_to_be_applied('JaMeS', 'james')
123
+ end
124
+
125
+ it 'expects uniqueness to be ignored for blank usernames' do
126
+ expects_uniqueness_to_be_ignored('', '')
127
+ end
128
+ end
59
129
  end
60
130
  end
61
131
 
@@ -79,15 +149,5 @@ describe User do
79
149
  end
80
150
  end
81
151
  end
82
-
83
- describe 'private ._make_up_new_username' do
84
- let(:model) { build(:user, username: '') }
85
-
86
- it 'works when called' do
87
- a_username = model.send(:_make_up_new_username)
88
- expect(a_username.length).to eq(32)
89
- expect(model.username).to eq('')
90
- end
91
- end
92
152
  end
93
153
  end
@@ -23,7 +23,7 @@ RSpec.describe 'Forgot Password', type: :request do
23
23
  end
24
24
 
25
25
  it 'Success' do
26
- given_I_have_an_email_credential
26
+ given_I_have_a_user
27
27
 
28
28
  forgot_password_params = { login: 'foobar', password: '1234' }
29
29
  post '/hello/passwords/forgot.json', forgot_password: forgot_password_params
@@ -1,41 +1,37 @@
1
1
  # Read about factories at https://github.com/thoughtbot/factory_girl
2
- # https://github.com/thoughtbot/factory_girl/blob/webmaster/GETTING_STARTED.md
2
+ # https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
3
3
 
4
4
  # https://github.com/stympy/faker#usage
5
5
 
6
6
  FactoryGirl.define do
7
+
7
8
  factory :user do
8
9
  name { Faker::Name.name }
9
- city { Faker::Address.city } # for dummy's customized sign up
10
10
  locale 'en'
11
11
  time_zone Time.zone.name
12
12
  role 'user'
13
-
14
13
  username { Faker::Internet.user_name(name, %w(-_)) }
14
+ email { "#{username}@provider.com" }
15
+ password '1234'
15
16
 
16
- # TODO: improve this
17
- after(:build) { |user| build(:password_credential, user: user) }
18
- after(:create) { |user| create(:password_credential, user: user) }
17
+ trait :without_credentials do
18
+ email nil
19
+ password nil
20
+ end
19
21
 
20
- factory :webmaster_user do
21
- name 'Admin'
22
+ factory :user_webmaster do
23
+ name 'Webmaster'
22
24
  role 'webmaster'
23
- username 'webmaster'
24
- factory :user_webmaster do
25
- name 'Webmaster'
26
- end
27
25
  end
28
26
 
29
27
  factory :user_onboarding do
30
28
  name 'Onboarding'
31
29
  role 'onboarding'
32
- username 'onboarding'
33
30
  end
34
31
 
35
32
  factory :user_user do
36
33
  name 'User'
37
34
  role 'user'
38
- username 'user'
39
35
  end
40
36
  end
41
37
 
@@ -4,34 +4,26 @@ USER_TEST_EMAIL = 'foo@bar.com'.freeze
4
4
  USER_TEST_USERNAME = 'foobar'.freeze
5
5
 
6
6
  def given_I_have_a_classic_access_token
7
- user = create(:user, name: 'James Pinto', username: USER_TEST_USERNAME, city: 'Brasilia')
8
- create(:email_credential, user: user, email: USER_TEST_EMAIL)
7
+ user = create(:user, name: 'James Pinto', username: USER_TEST_USERNAME, email: USER_TEST_EMAIL)
9
8
  Access.create!(user: user, user_agent_string: 'testing', expires_at: 24.hours.from_now)
10
9
  end
11
10
 
12
- def given_I_have_an_email_credential
13
- user = create(:user, name: 'James Pinto', username: USER_TEST_USERNAME, city: 'Brasilia')
14
- create(:email_credential, user: user, email: USER_TEST_EMAIL)
15
- end
16
-
17
- def given_I_have_an_onboarding_password_credential
18
- user = create(:onboarding)
19
- create(:email_credential, user: user, email: USER_TEST_EMAIL)
11
+ def given_I_have_a_user
12
+ create(:user, name: 'James Pinto', email: USER_TEST_EMAIL, username: USER_TEST_USERNAME)
20
13
  end
21
14
 
22
15
  def given_I_have_a_webmaster_password_credential
23
- user = create(:webmaster_user)
24
- create(:email_credential, user: user, email: 'webmaster@bar.com')
16
+ create(:user_webmaster)
25
17
  end
26
18
 
27
- def given_I_have_an_email_credential_and_forgot_my_password
28
- credential = given_I_have_an_email_credential
29
- unencrypted_token = credential.user.password_credential.reset_verifying_token!
19
+ def given_I_have_a_user_and_forgot_my_password
20
+ user = given_I_have_a_user
21
+ unencrypted_token = user.password_credential.reset_verifying_token!
30
22
  end
31
23
 
32
24
  def given_I_am_logged_in_with_a_classic_credential
33
25
  # when_sign_up_with_standard_data(expect_welcome_mailer: true)
34
- given_I_have_an_email_credential
26
+ given_I_have_a_user
35
27
  when_sign_in_with_standard_data
36
28
  then_I_should_be_logged_in
37
29
  end
@@ -30,7 +30,6 @@ def when_sign_up_as_an_onboarding(options = {})
30
30
  fill_in 'sign_up_email', with: 'foo@bar.com'
31
31
  fill_in 'sign_up_username', with: 'foobar'
32
32
  fill_in 'sign_up_password', with: '1234'
33
- fill_in 'sign_up_city', with: 'OMG! I can customize Hello!'
34
33
  click_button 'Sign Up'
35
34
  end
36
35
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hello-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Pinto
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-01 00:00:00.000000000 Z
12
+ date: 2016-09-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: before_actions
@@ -17,154 +17,154 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0'
20
+ version: '2.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '0'
27
+ version: '2.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: colorize
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '0.7'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '0.7'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: user_agent_parser
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: '2.3'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0'
55
+ version: '2.3'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: http_accept_language
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: '2.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: '2.0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rails-i18n
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0'
76
+ version: '5.0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '0'
83
+ version: '5.0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: sqlite3
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '0'
90
+ version: '1.3'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '0'
97
+ version: '1.3'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rspec-rails
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '0'
104
+ version: '3.4'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '0'
111
+ version: '3.4'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: capybara
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: '2.6'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: '2.6'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: email_spec
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '0'
132
+ version: '2.0'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '0'
139
+ version: '2.0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: factory_girl_rails
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: '0'
146
+ version: '4.5'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: '0'
153
+ version: '4.5'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: faker
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: '0'
160
+ version: '1.6'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '0'
167
+ version: '1.6'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: codeclimate-test-reporter
170
170
  requirement: !ruby/object:Gem::Requirement
@@ -185,14 +185,14 @@ dependencies:
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: '0'
188
+ version: '0.1'
189
189
  type: :development
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
193
  - - "~>"
194
194
  - !ruby/object:Gem::Version
195
- version: '0'
195
+ version: '0.1'
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: bcrypt
198
198
  requirement: !ruby/object:Gem::Requirement
@@ -227,14 +227,14 @@ dependencies:
227
227
  requirements:
228
228
  - - "~>"
229
229
  - !ruby/object:Gem::Version
230
- version: '0'
230
+ version: '2.4'
231
231
  type: :development
232
232
  prerelease: false
233
233
  version_requirements: !ruby/object:Gem::Requirement
234
234
  requirements:
235
235
  - - "~>"
236
236
  - !ruby/object:Gem::Version
237
- version: '0'
237
+ version: '2.4'
238
238
  description: Provides a set of valuable features for Registration, Authentication,
239
239
  Management and Internationalization.
240
240
  email:
@@ -310,11 +310,9 @@ files:
310
310
  - db/migrate/1_create_credentials.rb
311
311
  - db/migrate/2_create_accesses.rb
312
312
  - db/migrate/3_create_users.rb
313
+ - lib/data/locales.yml
313
314
  - lib/generators/hello/concerns/USAGE
314
315
  - lib/generators/hello/concerns/concerns_generator.rb
315
- - lib/generators/hello/from_devise/USAGE
316
- - lib/generators/hello/from_devise/from_devise_generator.rb
317
- - lib/generators/hello/from_devise/templates/from_devise.migration.rb
318
316
  - lib/generators/hello/install/USAGE
319
317
  - lib/generators/hello/install/install_generator.rb
320
318
  - lib/generators/hello/install/templates/application.html.erb
@@ -326,13 +324,15 @@ files:
326
324
  - lib/generators/hello/install/templates/onboarding/onboarding_controller.rb
327
325
  - lib/generators/hello/install/templates/root/index.html.erb
328
326
  - lib/generators/hello/install/templates/root/root_controller.rb
329
- - lib/generators/hello/install/templates/users/controllers/users_controller.rb
330
- - lib/generators/hello/install/templates/users/views/users/index.html.erb
331
- - lib/generators/hello/install/templates/users/views/users/list.html.erb
332
- - lib/generators/hello/install/templates/users/views/users/new.html.erb
333
- - lib/generators/hello/install/templates/users/views/users/show.html.erb
334
327
  - lib/generators/hello/locales/USAGE
335
328
  - lib/generators/hello/locales/locales_generator.rb
329
+ - lib/generators/hello/users/USAGE
330
+ - lib/generators/hello/users/templates/app/controllers/users_controller.rb
331
+ - lib/generators/hello/users/templates/app/views/users/index.html.erb
332
+ - lib/generators/hello/users/templates/app/views/users/list.html.erb
333
+ - lib/generators/hello/users/templates/app/views/users/new.html.erb
334
+ - lib/generators/hello/users/templates/app/views/users/show.html.erb
335
+ - lib/generators/hello/users/users_generator.rb
336
336
  - lib/generators/hello/views/USAGE
337
337
  - lib/generators/hello/views/views_generator.rb
338
338
  - lib/hello-rails.rb
@@ -436,9 +436,11 @@ files:
436
436
  - spec/fixtures/hello/password_mailer/sign_up
437
437
  - spec/mailers/hello/mailer_spec.rb
438
438
  - spec/models/access_spec.rb
439
+ - spec/models/create_and_destroy/email_credential_create_and_destroy_spec.rb
440
+ - spec/models/create_and_destroy/password_credential_create_and_destroy_spec.rb
441
+ - spec/models/create_and_destroy/user_create_and_destroy_spec.rb
439
442
  - spec/models/credential_spec.rb
440
443
  - spec/models/email_credential_spec.rb
441
- - spec/models/hello/sign_up_model_spec.rb
442
444
  - spec/models/password_credential_spec.rb
443
445
  - spec/models/user_spec.rb
444
446
  - spec/others/configuration_spec.rb
@@ -554,9 +556,11 @@ test_files:
554
556
  - spec/fixtures/hello/password_mailer/sign_up
555
557
  - spec/mailers/hello/mailer_spec.rb
556
558
  - spec/models/access_spec.rb
559
+ - spec/models/create_and_destroy/email_credential_create_and_destroy_spec.rb
560
+ - spec/models/create_and_destroy/password_credential_create_and_destroy_spec.rb
561
+ - spec/models/create_and_destroy/user_create_and_destroy_spec.rb
557
562
  - spec/models/credential_spec.rb
558
563
  - spec/models/email_credential_spec.rb
559
- - spec/models/hello/sign_up_model_spec.rb
560
564
  - spec/models/password_credential_spec.rb
561
565
  - spec/models/user_spec.rb
562
566
  - spec/others/configuration_spec.rb