gennaro 0.3.6.4 → 0.3.6.5

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: 3d040d9d23b2899fba9a0f7f531bc0476abc6097
4
- data.tar.gz: 728616f2bde742e1c15a8e03877b203c2d97b3d0
3
+ metadata.gz: df6c2de0cfd07118b5da6d25a0dc5aa88552c394
4
+ data.tar.gz: 12cad4c59feefce50e5a719ebefd25b972efaacf
5
5
  SHA512:
6
- metadata.gz: d0f814721f48f4ce4f18dc8d4d1d4a28d0f606fa4e862a21384937255b3cfa8e254c6c3690522f88f0d5bfbb5e4aafd66d876d2cbeb98b678dc01fc2062cadac
7
- data.tar.gz: cf4eb565538f575c301a9aa37913378beecc59b9df1b8c3665717174a82ad7e1686cb82df0db53c745814e987856e12e3cf5723d4b5b2c813220a2b39996bc9e
6
+ metadata.gz: aa6c3a8e98c754e7efb708e823f3e3a3ff2fbd8da8780e2b41c305f3edc6d90c5643d57f6c9fa4995c21237acc65ffe8e55fc0ff5199ddf9987ec48e6b9646ab
7
+ data.tar.gz: 6c09045e7fbe48e73038526e464cf28b11ecd59c053b6b996b06b95c4f5e4d2539e5171b08452d8de34a7eeb73bbeb241d89732b1b896c3fa4dded9113592109
@@ -10,6 +10,6 @@
10
10
 
11
11
  class Gennaro
12
12
  def self.version
13
- '0.3.6.4'
13
+ '0.3.6.5'
14
14
  end
15
15
  end
@@ -57,13 +57,14 @@ class ${ClassName}
57
57
  elsif logged_in?
58
58
  @error = 'You are already logged in.'
59
59
  else
60
- session = User.login params[:username], params[:password]
61
- if session
62
- set_login! session
63
- @success = 'Login successful.'
64
- else
65
- @error = 'Login failed.'
66
- end
60
+ User.login(params[:username], params[:password]) { |session|
61
+ if session
62
+ set_login! session
63
+ @success = 'Login successful.'
64
+ else
65
+ @error = 'Login failed.'
66
+ end
67
+ }
67
68
  end
68
69
  erb :'user/login'
69
70
  end
@@ -77,12 +78,13 @@ class ${ClassName}
77
78
  @error = 'The username you have chosen is already taken.'
78
79
  else
79
80
  level = User.empty? ? User.founder : User.user
80
- user = User.signup params[:username], params[:email], params[:password], level
81
- if user.errors.any?
82
- @error = user.errors.first.first
83
- else
84
- @success = 'Sign up successful.'
85
- end
81
+ User.signup(params[:username], params[:email], params[:password], level) { |errors|
82
+ if errors.any?
83
+ @error = errors.first.first
84
+ else
85
+ @success = 'Sign up successful.'
86
+ end
87
+ }
86
88
  end
87
89
  erb :'user/signup'
88
90
  end
@@ -144,8 +146,7 @@ class ${ClassName}
144
146
  elsif level == User.founder || user.founder?
145
147
  @error = 'Foundership is untouchable.'
146
148
  else
147
- user = User.change_level params[:username], level
148
- if user
149
+ if User.change_level params[:username], level
149
150
  @success = 'User level set successful.'
150
151
  else
151
152
  @error = 'Error setting the user level.'
@@ -139,24 +139,38 @@ class User
139
139
  User.count(username: username) == 1
140
140
  end
141
141
 
142
- def registration(username, email, password, permission_level, stuff = {})
143
- User.create({
142
+ def signup(username, email, password, permission_level, stuff = {})
143
+ res = User.create({
144
144
  :username => username,
145
145
  :email => email,
146
146
  :password => password,
147
147
  :permission_level => permission_level
148
148
  }.merge(stuff))
149
- end
150
- alias_method :signup, :registration
151
149
 
152
- def authentication(username, password)
153
- user = User.first username: username
154
- return false unless user
155
- if user.salted_password == BCrypt::Engine.hash_secret(password, user.salt)
156
- return user.update(session: BCrypt::Engine.generate_salt) ? user.session : false
150
+ if block_given?
151
+ yield res.errors
157
152
  else
158
- false
153
+ return res
159
154
  end
155
+ end
156
+ alias_method :registration, :signup
157
+
158
+ def authentication(username, password)
159
+ User.first(username: username).tap { |user|
160
+ res = if not user
161
+ false
162
+ elsif user.salted_password == BCrypt::Engine.hash_secret(password, user.salt)
163
+ user.update(session: BCrypt::Engine.generate_salt) ? user.session : false
164
+ else
165
+ false
166
+ end
167
+
168
+ if block_given?
169
+ yield res
170
+ else
171
+ return res
172
+ end
173
+ }
160
174
  end
161
175
  alias_method :login, :authentication
162
176
  alias_method :signin, :authentication
@@ -25,8 +25,9 @@ describe '${ClassName}' do
25
25
  user.founder?.should be_true
26
26
  User.exists?(@username).should be_true
27
27
 
28
- user = User.signup @username, @email, @password, @level
29
- user.errors.should_not be_empty
28
+ User.signup(@username, @email, @password, @level) { |errors|
29
+ errors.should_not be_empty
30
+ }
30
31
  end
31
32
 
32
33
  it 'logs in a user' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gennaro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6.4
4
+ version: 0.3.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giovanni Capuano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-27 00:00:00.000000000 Z
11
+ date: 2014-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec