gennaro 0.3.6.4 → 0.3.6.5

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.
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