sorcery 0.7.11 → 0.7.12

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sorcery might be problematic. Click here for more details.

data/.travis.yml CHANGED
@@ -1,2 +1,3 @@
1
+ language: ruby
1
2
  rvm:
2
3
  - 1.9.2
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ source :rubygems
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem 'oauth', "~> 0.4.4"
6
6
  gem 'oauth2', "~> 0.5.1"
7
+ gem 'bcrypt-ruby', "~> 3.0.0"
7
8
 
8
9
  # Add dependencies to develop your gem here.
9
10
  # Include everything needed to run rake, tests, features, etc.
@@ -20,6 +21,6 @@ group :development do
20
21
  gem 'simplecov', '>= 0.3.8', :require => false # Will install simplecov-html as a dependency
21
22
  gem 'timecop'
22
23
  gem 'capybara'
23
- gem 'bcrypt-ruby', "~> 3.0.0"
24
+ gem 'mongo_mapper'
24
25
  gem 'mongoid', "~> 2.4.4"
25
- end
26
+ end
data/Gemfile.lock CHANGED
@@ -70,6 +70,10 @@ GEM
70
70
  mime-types (1.18)
71
71
  mongo (1.6.1)
72
72
  bson (~> 1.6.1)
73
+ mongo_mapper (0.11.1)
74
+ activemodel (~> 3.0)
75
+ activesupport (~> 3.0)
76
+ plucky (~> 0.4.0)
73
77
  mongoid (2.4.7)
74
78
  activemodel (~> 3.1)
75
79
  mongo (~> 1.3)
@@ -81,6 +85,8 @@ GEM
81
85
  oauth2 (0.5.2)
82
86
  faraday (~> 0.7)
83
87
  multi_json (~> 1.0)
88
+ plucky (0.4.4)
89
+ mongo (~> 1.5)
84
90
  polyglot (0.3.3)
85
91
  rack (1.4.1)
86
92
  rack-cache (1.2)
@@ -167,6 +173,7 @@ DEPENDENCIES
167
173
  capybara
168
174
  jeweler (~> 1.8.3)
169
175
  json (>= 1.5.1)
176
+ mongo_mapper
170
177
  mongoid (~> 2.4.4)
171
178
  oauth (~> 0.4.4)
172
179
  oauth2 (~> 0.5.1)
data/README.rdoc CHANGED
@@ -29,7 +29,7 @@ Railscast: http://railscasts.com/episodes/283-authentication-with-sorcery
29
29
 
30
30
  Example Rails 3 app using sorcery: https://github.com/NoamB/sorcery-example-app
31
31
 
32
- Documentation: http://rubydoc.info/gems/sorcery/0.7.10/frames
32
+ Documentation: http://rubydoc.info/gems/sorcery/0.7.12/frames
33
33
 
34
34
  Check out the tutorials in the github wiki!
35
35
 
@@ -118,6 +118,26 @@ add them to the initializer file.
118
118
  Inside the initializer, the comments will tell you what each setting does.
119
119
 
120
120
 
121
+ == DelayedJob Integration
122
+
123
+ By default emails are sent synchronously. You can send them asynchronously by using the
124
+ [delayed_job gem](https://github.com/collectiveidea/delayed_job).
125
+
126
+ After implementing the `delayed_job` into your project add the code below at the end of
127
+ the `config/initializers/sorcery.rb` file. After that all emails will be sent asynchronously.
128
+
129
+ module Sorcery
130
+ module Model
131
+ module InstanceMethods
132
+ def generic_send_email(method, mailer)
133
+ config = sorcery_config
134
+ mail = config.send(mailer).delay.send(config.send(method), self)
135
+ end
136
+ end
137
+ end
138
+ end
139
+
140
+
121
141
  == Full Features List by module:
122
142
 
123
143
 
data/Rakefile CHANGED
@@ -43,13 +43,14 @@ task :default => :all_sorcery_specs
43
43
 
44
44
  desc "Run all sorcery specs"
45
45
  task :all_sorcery_specs do
46
+ # we need to be empty, otherwise bundler will use parent bundler.
47
+ env = {
48
+ 'BUNDLE_GEMFILE' => nil,
49
+ 'GEM_HOME' => nil
50
+ }
46
51
  Dir['spec/**/Rakefile'].each do |rakefile|
47
52
  directory_name = File.dirname(rakefile)
48
- sh <<-CMD
49
- cd #{directory_name}
50
- bundle
51
- bundle exec rake
52
- CMD
53
+ system(env, "cd #{directory_name} && bundle && bundle exec rake")
53
54
  end
54
55
  end
55
56
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.11
1
+ 0.7.12
@@ -46,7 +46,9 @@ module Sorcery
46
46
  @provider.process_callback(params,session)
47
47
  @user_hash = @provider.get_user_hash
48
48
  if user = user_class.load_from_provider(provider,@user_hash[:uid].to_s)
49
+ return_to_url = session[:return_to_url]
49
50
  reset_session
51
+ session[:return_to_url] = return_to_url
50
52
  auto_login(user)
51
53
  user
52
54
  end
@@ -41,10 +41,6 @@ module Sorcery
41
41
  end
42
42
  base.extend(ClassMethods)
43
43
  base.send(:include, InstanceMethods)
44
-
45
- base.class_eval do
46
- after_update :send_unlock_token_email!, :if => Proc.new { |user| user.send(sorcery_config.unlock_token_attribute_name).present? }
47
- end
48
44
  end
49
45
 
50
46
  module ClassMethods
@@ -59,11 +55,13 @@ module Sorcery
59
55
  def define_brute_force_protection_mongoid_fields
60
56
  field sorcery_config.failed_logins_count_attribute_name, :type => Integer, :default => 0
61
57
  field sorcery_config.lock_expires_at_attribute_name, :type => Time
58
+ field sorcery_config.unlock_token_attribute_name, :type => String
62
59
  end
63
60
 
64
61
  def define_brute_force_protection_mongo_mapper_fields
65
62
  key sorcery_config.failed_logins_count_attribute_name, Integer, :default => 0
66
63
  key sorcery_config.lock_expires_at_attribute_name, Time
64
+ key sorcery_config.unlock_token_attribute_name, String
67
65
  end
68
66
  end
69
67
 
@@ -94,7 +92,11 @@ module Sorcery
94
92
  def lock!
95
93
  config = sorcery_config
96
94
  self.send(:"#{config.lock_expires_at_attribute_name}=", Time.now.in_time_zone + config.login_lock_time_period)
97
- self.send(:"#{config.unlock_token_attribute_name}=", TemporaryToken.generate_random_token) unless config.unlock_token_mailer_disabled or config.unlock_token_mailer.nil?
95
+
96
+ unless config.unlock_token_mailer_disabled || config.unlock_token_mailer.nil?
97
+ self.send(:"#{config.unlock_token_attribute_name}=", TemporaryToken.generate_random_token)
98
+ send_unlock_token_email!
99
+ end
98
100
  self.save!(:validate => false)
99
101
  end
100
102
 
data/sorcery.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sorcery"
8
- s.version = "0.7.11"
8
+ s.version = "0.7.12"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Noam Ben Ari"]
12
- s.date = "2012-04-18"
12
+ s.date = "2012-05-06"
13
13
  s.description = "Provides common authentication needs such as signing in/out, activating by email and resetting password."
14
14
  s.email = "nbenari@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -302,7 +302,7 @@ Gem::Specification.new do |s|
302
302
  s.homepage = "http://github.com/NoamB/sorcery"
303
303
  s.licenses = ["MIT"]
304
304
  s.require_paths = ["lib"]
305
- s.rubygems_version = "1.8.21"
305
+ s.rubygems_version = "1.8.10"
306
306
  s.summary = "Magical authentication for Rails 3 applications"
307
307
 
308
308
  if s.respond_to? :specification_version then
@@ -311,6 +311,7 @@ Gem::Specification.new do |s|
311
311
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
312
312
  s.add_runtime_dependency(%q<oauth>, ["~> 0.4.4"])
313
313
  s.add_runtime_dependency(%q<oauth2>, ["~> 0.5.1"])
314
+ s.add_runtime_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
314
315
  s.add_development_dependency(%q<rails>, [">= 3.0.0"])
315
316
  s.add_development_dependency(%q<json>, [">= 1.5.1"])
316
317
  s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
@@ -323,11 +324,12 @@ Gem::Specification.new do |s|
323
324
  s.add_development_dependency(%q<simplecov>, [">= 0.3.8"])
324
325
  s.add_development_dependency(%q<timecop>, [">= 0"])
325
326
  s.add_development_dependency(%q<capybara>, [">= 0"])
326
- s.add_development_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
327
+ s.add_development_dependency(%q<mongo_mapper>, [">= 0"])
327
328
  s.add_development_dependency(%q<mongoid>, ["~> 2.4.4"])
328
329
  else
329
330
  s.add_dependency(%q<oauth>, ["~> 0.4.4"])
330
331
  s.add_dependency(%q<oauth2>, ["~> 0.5.1"])
332
+ s.add_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
331
333
  s.add_dependency(%q<rails>, [">= 3.0.0"])
332
334
  s.add_dependency(%q<json>, [">= 1.5.1"])
333
335
  s.add_dependency(%q<rspec>, ["~> 2.5.0"])
@@ -340,12 +342,13 @@ Gem::Specification.new do |s|
340
342
  s.add_dependency(%q<simplecov>, [">= 0.3.8"])
341
343
  s.add_dependency(%q<timecop>, [">= 0"])
342
344
  s.add_dependency(%q<capybara>, [">= 0"])
343
- s.add_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
345
+ s.add_dependency(%q<mongo_mapper>, [">= 0"])
344
346
  s.add_dependency(%q<mongoid>, ["~> 2.4.4"])
345
347
  end
346
348
  else
347
349
  s.add_dependency(%q<oauth>, ["~> 0.4.4"])
348
350
  s.add_dependency(%q<oauth2>, ["~> 0.5.1"])
351
+ s.add_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
349
352
  s.add_dependency(%q<rails>, [">= 3.0.0"])
350
353
  s.add_dependency(%q<json>, [">= 1.5.1"])
351
354
  s.add_dependency(%q<rspec>, ["~> 2.5.0"])
@@ -358,7 +361,7 @@ Gem::Specification.new do |s|
358
361
  s.add_dependency(%q<simplecov>, [">= 0.3.8"])
359
362
  s.add_dependency(%q<timecop>, [">= 0"])
360
363
  s.add_dependency(%q<capybara>, [">= 0"])
361
- s.add_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
364
+ s.add_dependency(%q<mongo_mapper>, [">= 0"])
362
365
  s.add_dependency(%q<mongoid>, ["~> 2.4.4"])
363
366
  end
364
367
  end
@@ -137,6 +137,46 @@ class ApplicationController < ActionController::Base
137
137
  end
138
138
  end
139
139
 
140
+ def test_return_to_with_external
141
+ if @user = login_from(:twitter)
142
+ redirect_back_or_to "bla", :notice => "Success!"
143
+ else
144
+ redirect_to "blu", :alert => "Failed!"
145
+ end
146
+ end
147
+
148
+ def test_return_to_with_external2
149
+ if @user = login_from(:facebook)
150
+ redirect_back_or_to "bla", :notice => "Success!"
151
+ else
152
+ redirect_to "blu", :alert => "Failed!"
153
+ end
154
+ end
155
+
156
+ def test_return_to_with_external3
157
+ if @user = login_from(:github)
158
+ redirect_back_or_to "bla", :notice => "Success!"
159
+ else
160
+ redirect_to "blu", :alert => "Failed!"
161
+ end
162
+ end
163
+
164
+ def test_return_to_with_external4
165
+ if @user = login_from(:google)
166
+ redirect_back_or_to "bla", :notice => "Success!"
167
+ else
168
+ redirect_to "blu", :alert => "Failed!"
169
+ end
170
+ end
171
+
172
+ def test_return_to_with_external5
173
+ if @user = login_from(:liveid)
174
+ redirect_back_or_to "bla", :notice => "Success!"
175
+ else
176
+ redirect_to "blu", :alert => "Failed!"
177
+ end
178
+ end
179
+
140
180
  def test_create_from_provider
141
181
  provider = params[:provider]
142
182
  login_from(provider)
@@ -81,6 +81,14 @@ describe ApplicationController do
81
81
  flash[:alert].should == "Failed!"
82
82
  end
83
83
 
84
+ it "on successful login_from the user should be redirected to the url he originally wanted" do
85
+ sorcery_model_property_set(:authentications_class, Authentication)
86
+ create_new_external_user(:facebook)
87
+ get :test_return_to_with_external2, {}, :return_to_url => "fuu"
88
+ response.should redirect_to("fuu")
89
+ flash[:notice].should == "Success!"
90
+ end
91
+
84
92
  # provider: github
85
93
  it "login_at redirects correctly (github)" do
86
94
  create_new_user
@@ -103,6 +111,14 @@ describe ApplicationController do
103
111
  flash[:alert].should == "Failed!"
104
112
  end
105
113
 
114
+ it "on successful login_from the user should be redirected to the url he originally wanted (github)" do
115
+ sorcery_model_property_set(:authentications_class, Authentication)
116
+ create_new_external_user(:github)
117
+ get :test_return_to_with_external3, {}, :return_to_url => "fuu"
118
+ response.should redirect_to("fuu")
119
+ flash[:notice].should == "Success!"
120
+ end
121
+
106
122
  # provider: google
107
123
  it "login_at redirects correctly (google)" do
108
124
  create_new_user
@@ -125,6 +141,14 @@ describe ApplicationController do
125
141
  flash[:alert].should == "Failed!"
126
142
  end
127
143
 
144
+ it "on successful login_from the user should be redirected to the url he originally wanted (google)" do
145
+ sorcery_model_property_set(:authentications_class, Authentication)
146
+ create_new_external_user(:google)
147
+ get :test_return_to_with_external4, {}, :return_to_url => "fuu"
148
+ response.should redirect_to("fuu")
149
+ flash[:notice].should == "Success!"
150
+ end
151
+
128
152
  # provider: liveid
129
153
  it "login_at redirects correctly (liveid)" do
130
154
  create_new_user
@@ -147,6 +171,14 @@ describe ApplicationController do
147
171
  flash[:alert].should == "Failed!"
148
172
  end
149
173
 
174
+ it "on successful login_from the user should be redirected to the url he originally wanted (liveid)" do
175
+ sorcery_model_property_set(:authentications_class, Authentication)
176
+ create_new_external_user(:liveid)
177
+ get :test_return_to_with_external5, {}, :return_to_url => "fuu"
178
+ response.should redirect_to("fuu")
179
+ flash[:notice].should == "Success!"
180
+ end
181
+
150
182
  end
151
183
 
152
184
 
@@ -63,6 +63,15 @@ describe ApplicationController do
63
63
  get :test_login_from, :oauth_verifier => "blablaRERASDFcxvSDFA"
64
64
  flash[:alert].should == "Failed!"
65
65
  end
66
+
67
+ it "on successful 'login_from' the user should be redirected to the url he originally wanted" do
68
+ sorcery_model_property_set(:authentications_class, Authentication)
69
+ create_new_external_user(:twitter)
70
+ get :test_return_to_with_external, {}, :return_to_url => "fuu"
71
+ response.should redirect_to("fuu")
72
+ flash[:notice].should == "Success!"
73
+ end
74
+
66
75
  end
67
76
 
68
77
  describe ApplicationController do
metadata CHANGED
@@ -1,203 +1,212 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sorcery
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.12
4
5
  prerelease:
5
- version: 0.7.11
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Noam Ben Ari
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-04-18 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-05-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: oauth
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2158314580 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
18
+ requirements:
20
19
  - - ~>
21
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
22
21
  version: 0.4.4
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *2158314580
25
+ - !ruby/object:Gem::Dependency
27
26
  name: oauth2
28
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &2158314020 !ruby/object:Gem::Requirement
29
28
  none: false
30
- requirements:
29
+ requirements:
31
30
  - - ~>
32
- - !ruby/object:Gem::Version
31
+ - !ruby/object:Gem::Version
33
32
  version: 0.5.1
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *2158314020
36
+ - !ruby/object:Gem::Dependency
37
+ name: bcrypt-ruby
38
+ requirement: &2158313520 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 3.0.0
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *2158313520
47
+ - !ruby/object:Gem::Dependency
38
48
  name: rails
39
- requirement: &id003 !ruby/object:Gem::Requirement
49
+ requirement: &2158313000 !ruby/object:Gem::Requirement
40
50
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
44
54
  version: 3.0.0
45
55
  type: :development
46
56
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *2158313000
58
+ - !ruby/object:Gem::Dependency
49
59
  name: json
50
- requirement: &id004 !ruby/object:Gem::Requirement
60
+ requirement: &2158312440 !ruby/object:Gem::Requirement
51
61
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
55
65
  version: 1.5.1
56
66
  type: :development
57
67
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *2158312440
69
+ - !ruby/object:Gem::Dependency
60
70
  name: rspec
61
- requirement: &id005 !ruby/object:Gem::Requirement
71
+ requirement: &2158311900 !ruby/object:Gem::Requirement
62
72
  none: false
63
- requirements:
73
+ requirements:
64
74
  - - ~>
65
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
66
76
  version: 2.5.0
67
77
  type: :development
68
78
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *2158311900
80
+ - !ruby/object:Gem::Dependency
71
81
  name: rspec-rails
72
- requirement: &id006 !ruby/object:Gem::Requirement
82
+ requirement: &2158613600 !ruby/object:Gem::Requirement
73
83
  none: false
74
- requirements:
84
+ requirements:
75
85
  - - ~>
76
- - !ruby/object:Gem::Version
86
+ - !ruby/object:Gem::Version
77
87
  version: 2.5.0
78
88
  type: :development
79
89
  prerelease: false
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *2158613600
91
+ - !ruby/object:Gem::Dependency
82
92
  name: ruby-debug19
83
- requirement: &id007 !ruby/object:Gem::Requirement
93
+ requirement: &2158611860 !ruby/object:Gem::Requirement
84
94
  none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
89
99
  type: :development
90
100
  prerelease: false
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
101
+ version_requirements: *2158611860
102
+ - !ruby/object:Gem::Dependency
93
103
  name: sqlite3-ruby
94
- requirement: &id008 !ruby/object:Gem::Requirement
104
+ requirement: &2158611100 !ruby/object:Gem::Requirement
95
105
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
100
110
  type: :development
101
111
  prerelease: false
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
112
+ version_requirements: *2158611100
113
+ - !ruby/object:Gem::Dependency
104
114
  name: yard
105
- requirement: &id009 !ruby/object:Gem::Requirement
115
+ requirement: &2158610620 !ruby/object:Gem::Requirement
106
116
  none: false
107
- requirements:
117
+ requirements:
108
118
  - - ~>
109
- - !ruby/object:Gem::Version
119
+ - !ruby/object:Gem::Version
110
120
  version: 0.6.0
111
121
  type: :development
112
122
  prerelease: false
113
- version_requirements: *id009
114
- - !ruby/object:Gem::Dependency
123
+ version_requirements: *2158610620
124
+ - !ruby/object:Gem::Dependency
115
125
  name: bundler
116
- requirement: &id010 !ruby/object:Gem::Requirement
126
+ requirement: &2158610060 !ruby/object:Gem::Requirement
117
127
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
121
131
  version: 1.1.0
122
132
  type: :development
123
133
  prerelease: false
124
- version_requirements: *id010
125
- - !ruby/object:Gem::Dependency
134
+ version_requirements: *2158610060
135
+ - !ruby/object:Gem::Dependency
126
136
  name: jeweler
127
- requirement: &id011 !ruby/object:Gem::Requirement
137
+ requirement: &2158609520 !ruby/object:Gem::Requirement
128
138
  none: false
129
- requirements:
139
+ requirements:
130
140
  - - ~>
131
- - !ruby/object:Gem::Version
141
+ - !ruby/object:Gem::Version
132
142
  version: 1.8.3
133
143
  type: :development
134
144
  prerelease: false
135
- version_requirements: *id011
136
- - !ruby/object:Gem::Dependency
145
+ version_requirements: *2158609520
146
+ - !ruby/object:Gem::Dependency
137
147
  name: simplecov
138
- requirement: &id012 !ruby/object:Gem::Requirement
148
+ requirement: &2158609020 !ruby/object:Gem::Requirement
139
149
  none: false
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
143
153
  version: 0.3.8
144
154
  type: :development
145
155
  prerelease: false
146
- version_requirements: *id012
147
- - !ruby/object:Gem::Dependency
156
+ version_requirements: *2158609020
157
+ - !ruby/object:Gem::Dependency
148
158
  name: timecop
149
- requirement: &id013 !ruby/object:Gem::Requirement
159
+ requirement: &2158608520 !ruby/object:Gem::Requirement
150
160
  none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: "0"
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
155
165
  type: :development
156
166
  prerelease: false
157
- version_requirements: *id013
158
- - !ruby/object:Gem::Dependency
167
+ version_requirements: *2158608520
168
+ - !ruby/object:Gem::Dependency
159
169
  name: capybara
160
- requirement: &id014 !ruby/object:Gem::Requirement
170
+ requirement: &2158608000 !ruby/object:Gem::Requirement
161
171
  none: false
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: "0"
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
166
176
  type: :development
167
177
  prerelease: false
168
- version_requirements: *id014
169
- - !ruby/object:Gem::Dependency
170
- name: bcrypt-ruby
171
- requirement: &id015 !ruby/object:Gem::Requirement
178
+ version_requirements: *2158608000
179
+ - !ruby/object:Gem::Dependency
180
+ name: mongo_mapper
181
+ requirement: &2158607480 !ruby/object:Gem::Requirement
172
182
  none: false
173
- requirements:
174
- - - ~>
175
- - !ruby/object:Gem::Version
176
- version: 3.0.0
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
177
187
  type: :development
178
188
  prerelease: false
179
- version_requirements: *id015
180
- - !ruby/object:Gem::Dependency
189
+ version_requirements: *2158607480
190
+ - !ruby/object:Gem::Dependency
181
191
  name: mongoid
182
- requirement: &id016 !ruby/object:Gem::Requirement
192
+ requirement: &2158606940 !ruby/object:Gem::Requirement
183
193
  none: false
184
- requirements:
194
+ requirements:
185
195
  - - ~>
186
- - !ruby/object:Gem::Version
196
+ - !ruby/object:Gem::Version
187
197
  version: 2.4.4
188
198
  type: :development
189
199
  prerelease: false
190
- version_requirements: *id016
191
- description: Provides common authentication needs such as signing in/out, activating by email and resetting password.
200
+ version_requirements: *2158606940
201
+ description: Provides common authentication needs such as signing in/out, activating
202
+ by email and resetting password.
192
203
  email: nbenari@gmail.com
193
204
  executables: []
194
-
195
205
  extensions: []
196
-
197
- extra_rdoc_files:
206
+ extra_rdoc_files:
198
207
  - LICENSE.txt
199
208
  - README.rdoc
200
- files:
209
+ files:
201
210
  - .document
202
211
  - .rspec
203
212
  - .travis.yml
@@ -480,31 +489,28 @@ files:
480
489
  - spec/spec.opts
481
490
  - spec/spec_helper.rb
482
491
  homepage: http://github.com/NoamB/sorcery
483
- licenses:
492
+ licenses:
484
493
  - MIT
485
494
  post_install_message:
486
495
  rdoc_options: []
487
-
488
- require_paths:
496
+ require_paths:
489
497
  - lib
490
- required_ruby_version: !ruby/object:Gem::Requirement
498
+ required_ruby_version: !ruby/object:Gem::Requirement
491
499
  none: false
492
- requirements:
493
- - - ">="
494
- - !ruby/object:Gem::Version
495
- version: "0"
496
- required_rubygems_version: !ruby/object:Gem::Requirement
500
+ requirements:
501
+ - - ! '>='
502
+ - !ruby/object:Gem::Version
503
+ version: '0'
504
+ required_rubygems_version: !ruby/object:Gem::Requirement
497
505
  none: false
498
- requirements:
499
- - - ">="
500
- - !ruby/object:Gem::Version
501
- version: "0"
506
+ requirements:
507
+ - - ! '>='
508
+ - !ruby/object:Gem::Version
509
+ version: '0'
502
510
  requirements: []
503
-
504
511
  rubyforge_project:
505
- rubygems_version: 1.8.21
512
+ rubygems_version: 1.8.10
506
513
  signing_key:
507
514
  specification_version: 3
508
515
  summary: Magical authentication for Rails 3 applications
509
516
  test_files: []
510
-