kenn-userify 0.1.6 → 0.1.7

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.
data/Rakefile CHANGED
@@ -35,7 +35,7 @@ task :default => ['test:all', 'test:features']
35
35
 
36
36
  gem_spec = Gem::Specification.new do |gem_spec|
37
37
  gem_spec.name = "userify"
38
- gem_spec.version = "0.1.6"
38
+ gem_spec.version = "0.1.7"
39
39
  gem_spec.summary = "Super simple authentication system for Rails, using username, email and password."
40
40
  gem_spec.email = "kenn.ejima <at> gmail.com"
41
41
  gem_spec.homepage = "http://github.com/kenn/userify"
@@ -3,6 +3,6 @@ ActionController::Routing::Routes.draw do |map|
3
3
  map.signin 'user/signin', :controller => 'userify/user', :action => 'signin'
4
4
  map.signout 'user/signout', :controller => 'userify/user', :action => 'signout'
5
5
  map.activate 'user/activate/:token', :controller => 'userify/user', :action => 'activate'
6
- map.forgot 'user/password/forgot', :controller => 'userify/user', :action => 'forgot'
7
- map.reset 'user/password/reset/:token', :controller => 'userify/user', :action => 'reset'
6
+ map.forgot 'user/forgot', :controller => 'userify/user', :action => 'forgot'
7
+ map.reset 'user/reset/:token', :controller => 'userify/user', :action => 'reset'
8
8
  end
@@ -16,7 +16,7 @@ class UserifyCreateUsers < ActiveRecord::Migration
16
16
  t.string :email, :limit => 60, :null => false
17
17
  t.string :fullname, :limit => 60
18
18
  t.string :encrypted_password, :limit => 40, :null => false
19
- t.string :salt, :limit => 40, :null => false
19
+ t.string :salt, :limit => 27, :null => false
20
20
  t.string :token, :limit => 27
21
21
  t.datetime :token_expires_at
22
22
  t.boolean :email_confirmed, :default => false, :null => false
data/lib/userify/user.rb CHANGED
@@ -39,7 +39,7 @@ module Userify
39
39
  end
40
40
 
41
41
  def encrypt(string)
42
- generate_hash("--#{salt}--#{string}--")
42
+ Digest::SHA1.hexdigest("--#{salt}--#{string}--")
43
43
  end
44
44
 
45
45
  def remember?
@@ -57,12 +57,12 @@ module Userify
57
57
 
58
58
  def confirm_email!
59
59
  self.email_confirmed = true
60
- self.token = nil
60
+ clear_token
61
61
  save(false)
62
62
  end
63
63
 
64
64
  def forgot_password!
65
- generate_token
65
+ generate_token 24.hours.from_now.utc
66
66
  save(false)
67
67
  end
68
68
 
@@ -74,10 +74,6 @@ module Userify
74
74
 
75
75
  protected
76
76
 
77
- def generate_hash(string)
78
- Digest::SHA1.hexdigest(string)
79
- end
80
-
81
77
  def generate_random_base62(n=27)
82
78
  UID.new(n).to_s
83
79
  end
@@ -88,7 +84,7 @@ module Userify
88
84
  end
89
85
 
90
86
  def initialize_salt
91
- self.salt = generate_hash("--#{Time.now.utc.to_s}--#{password}--") if new_record?
87
+ self.salt = generate_random_base62 if new_record?
92
88
  end
93
89
 
94
90
  def encrypt_password
@@ -96,9 +92,9 @@ module Userify
96
92
  self.encrypted_password = encrypt(password)
97
93
  end
98
94
 
99
- def generate_token
100
- self.token = generate_random_base62
101
- self.token_expires_at = nil
95
+ def generate_token(time=nil)
96
+ self.token = generate_random_base62
97
+ self.token_expires_at = time
102
98
  end
103
99
 
104
100
  def clear_token
@@ -107,7 +103,7 @@ module Userify
107
103
  end
108
104
 
109
105
  def initialize_token
110
- generate_token if new_record?
106
+ generate_token 24.hours.from_now.utc if new_record?
111
107
  end
112
108
 
113
109
  def password_required?
@@ -115,8 +111,8 @@ module Userify
115
111
  end
116
112
 
117
113
  def remember_me_until!(time)
114
+ self.token = generate_random_base62
118
115
  self.token_expires_at = time
119
- self.token = generate_random_base62
120
116
  save(false)
121
117
  end
122
118
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kenn-userify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenn Ejima
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-04 00:00:00 -07:00
12
+ date: 2009-06-05 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15