jt-rails-generator-user 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7edbd53901036c70659097ae335547a54753f69
4
- data.tar.gz: 09075fc92ed48631691b921e051adc6187224e37
3
+ metadata.gz: 9c922c8feff058378a13b601193d36c4a4c5d07b
4
+ data.tar.gz: 9759af6494f0e5a9eecc98c4f12fca8e802447bc
5
5
  SHA512:
6
- metadata.gz: 963057a1504735fdf836ce4e8ca24186434d85a24f95fc052faaa4cc100f4aa68cb363fbca48acbd6fdcad0da5a7feff8ba09a2291e8a46d1f3abdb4b2698cd0
7
- data.tar.gz: 2cb44757768ba697b1f355b196fca1d9f62a4d46a8355619c5ae487216cf9f808dd6b5828c5fe91ca9a272f85d89e6bc90503168f74a2e57594c59ab202a4d4e
6
+ metadata.gz: ebe400621940359872d0796e35fe62fa75bab1a84399d6cba23fd63130289b20c87ab2633fbf7167fba2126590b08e16c890c5bc2cc43027fe24532bde5a6b0a
7
+ data.tar.gz: a63a2ba1bf0d44a16e102bb95e91cbe3efe422cc295310b5a211c1be68c1ea91bafa373f15ea4216803d0ac3e87e1b0e18637b6cd9b3deadab81764a3e8ddfb5
@@ -3,7 +3,7 @@ Gem::Specification.new do |s|
3
3
  s.summary = "Generate a scaffold for user authentication in Ruby On Rails"
4
4
  s.description = "JTRailsGeneratorUser is a generator for user authentication. You have the login and sign up page, password forgot feature."
5
5
  s.homepage = 'https://github.com/jonathantribouharet/jt-rails-generator-user'
6
- s.version = '1.0.2'
6
+ s.version = '1.0.3'
7
7
  s.files = `git ls-files`.split("\n")
8
8
  s.require_paths = ['lib']
9
9
  s.authors = ['Jonathan TRIBOUHARET']
@@ -13,4 +13,5 @@ Gem::Specification.new do |s|
13
13
 
14
14
  s.add_dependency('validates_email_format_of', '~> 1.6')
15
15
  s.add_dependency('bcrypt', '~> 3.1.7')
16
+ s.add_dependency('jt-rails-tokenizable', '~> 1.0')
16
17
  end
@@ -20,7 +20,6 @@ class UsersController < ApplicationController
20
20
  if request.post?
21
21
  @user = User.search_by_email_for_authentication(params[:email]).first
22
22
  if @user
23
- @user.generate_new_password_token!
24
23
  UserMailer.reset_password(@user.id).deliver_later
25
24
 
26
25
  redirect_to root_url
@@ -32,7 +31,9 @@ class UsersController < ApplicationController
32
31
  user = User.where(password_token: params[:token]).first
33
32
  if user
34
33
  set_current_user(user)
35
- user.clear_password_token!
34
+
35
+ user.generate_new_token(:password_token)
36
+ user.save
36
37
 
37
38
  redirect_to root_url
38
39
  else
@@ -3,10 +3,13 @@ module UserAuthentication
3
3
 
4
4
  included do
5
5
 
6
+ include JT::Rails::Tokenizable
7
+
6
8
  has_secure_password
7
9
 
10
+ tokenize :password_token
11
+
8
12
  validates :email, presence: true, email_format: true, uniqueness: { case_sensitive: false}
9
- validates :password_token, uniqueness: true, if: Proc.new {|u| !u.password_token.blank? }
10
13
 
11
14
  before_save :downcase_email
12
15
 
@@ -26,16 +29,4 @@ module UserAuthentication
26
29
  self.email.downcase! if self.email
27
30
  end
28
31
 
29
- def generate_new_password_token!
30
- self.password_token = loop do
31
- random_token = SecureRandom.urlsafe_base64(128, false)
32
- break random_token unless self.class.exists?(password_token: random_token)
33
- end
34
- self.save!
35
- end
36
-
37
- def clear_password_token!
38
- self.update_column(:password_token, nil)
39
- end
40
-
41
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jt-rails-generator-user
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan TRIBOUHARET
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.1.7
41
+ - !ruby/object:Gem::Dependency
42
+ name: jt-rails-tokenizable
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
41
55
  description: JTRailsGeneratorUser is a generator for user authentication. You have
42
56
  the login and sign up page, password forgot feature.
43
57
  email: jonathan.tribouharet@gmail.com