sorcery 0.1.0

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.

Files changed (101) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +19 -0
  4. data/Gemfile.lock +129 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.rdoc +139 -0
  7. data/Rakefile +61 -0
  8. data/VERSION +1 -0
  9. data/features/support/env.rb +13 -0
  10. data/lib/sorcery.rb +28 -0
  11. data/lib/sorcery/controller.rb +156 -0
  12. data/lib/sorcery/controller/submodules/brute_force_protection.rb +89 -0
  13. data/lib/sorcery/controller/submodules/remember_me.rb +43 -0
  14. data/lib/sorcery/controller/submodules/session_timeout.rb +42 -0
  15. data/lib/sorcery/crypto_providers/aes256.rb +44 -0
  16. data/lib/sorcery/crypto_providers/bcrypt.rb +96 -0
  17. data/lib/sorcery/crypto_providers/md5.rb +39 -0
  18. data/lib/sorcery/crypto_providers/sha1.rb +40 -0
  19. data/lib/sorcery/crypto_providers/sha256.rb +55 -0
  20. data/lib/sorcery/crypto_providers/sha512.rb +55 -0
  21. data/lib/sorcery/engine.rb +20 -0
  22. data/lib/sorcery/model.rb +175 -0
  23. data/lib/sorcery/model/submodules/password_reset.rb +64 -0
  24. data/lib/sorcery/model/submodules/remember_me.rb +42 -0
  25. data/lib/sorcery/model/submodules/user_activation.rb +84 -0
  26. data/spec/Gemfile +11 -0
  27. data/spec/Gemfile.lock +108 -0
  28. data/spec/Rakefile +11 -0
  29. data/spec/rails3/.rspec +1 -0
  30. data/spec/rails3/Gemfile +12 -0
  31. data/spec/rails3/Gemfile.lock +114 -0
  32. data/spec/rails3/Rakefile +10 -0
  33. data/spec/rails3/app_root/.gitignore +4 -0
  34. data/spec/rails3/app_root/README +256 -0
  35. data/spec/rails3/app_root/Rakefile.unused +7 -0
  36. data/spec/rails3/app_root/app/controllers/application_controller.rb +61 -0
  37. data/spec/rails3/app_root/app/helpers/application_helper.rb +2 -0
  38. data/spec/rails3/app_root/app/mailers/sorcery_mailer.rb +25 -0
  39. data/spec/rails3/app_root/app/models/user.rb +3 -0
  40. data/spec/rails3/app_root/app/views/layouts/application.html.erb +14 -0
  41. data/spec/rails3/app_root/app/views/sorcery_mailer/activation_email.html.erb +17 -0
  42. data/spec/rails3/app_root/app/views/sorcery_mailer/activation_email.text.erb +9 -0
  43. data/spec/rails3/app_root/app/views/sorcery_mailer/activation_success_email.html.erb +17 -0
  44. data/spec/rails3/app_root/app/views/sorcery_mailer/activation_success_email.text.erb +9 -0
  45. data/spec/rails3/app_root/app/views/sorcery_mailer/reset_password_email.html.erb +16 -0
  46. data/spec/rails3/app_root/app/views/sorcery_mailer/reset_password_email.text.erb +8 -0
  47. data/spec/rails3/app_root/config.ru +4 -0
  48. data/spec/rails3/app_root/config/application.rb +48 -0
  49. data/spec/rails3/app_root/config/boot.rb +13 -0
  50. data/spec/rails3/app_root/config/database.yml +27 -0
  51. data/spec/rails3/app_root/config/environment.rb +5 -0
  52. data/spec/rails3/app_root/config/environments/development.rb +26 -0
  53. data/spec/rails3/app_root/config/environments/in_memory.rb +0 -0
  54. data/spec/rails3/app_root/config/environments/production.rb +49 -0
  55. data/spec/rails3/app_root/config/environments/test.rb +35 -0
  56. data/spec/rails3/app_root/config/initializers/backtrace_silencers.rb +7 -0
  57. data/spec/rails3/app_root/config/initializers/inflections.rb +10 -0
  58. data/spec/rails3/app_root/config/initializers/mime_types.rb +5 -0
  59. data/spec/rails3/app_root/config/initializers/secret_token.rb +7 -0
  60. data/spec/rails3/app_root/config/initializers/session_store.rb +8 -0
  61. data/spec/rails3/app_root/config/locales/en.yml +5 -0
  62. data/spec/rails3/app_root/config/routes.rb +67 -0
  63. data/spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb +15 -0
  64. data/spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb +16 -0
  65. data/spec/rails3/app_root/db/migrate/password_reset/20101224223622_add_password_reset_to_users.rb +9 -0
  66. data/spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +15 -0
  67. data/spec/rails3/app_root/db/schema.rb +23 -0
  68. data/spec/rails3/app_root/db/seeds.rb +7 -0
  69. data/spec/rails3/app_root/lib/tasks/.gitkeep +0 -0
  70. data/spec/rails3/app_root/public/404.html +26 -0
  71. data/spec/rails3/app_root/public/422.html +26 -0
  72. data/spec/rails3/app_root/public/500.html +26 -0
  73. data/spec/rails3/app_root/public/favicon.ico +0 -0
  74. data/spec/rails3/app_root/public/images/rails.png +0 -0
  75. data/spec/rails3/app_root/public/index.html +239 -0
  76. data/spec/rails3/app_root/public/javascripts/application.js +2 -0
  77. data/spec/rails3/app_root/public/javascripts/controls.js +965 -0
  78. data/spec/rails3/app_root/public/javascripts/dragdrop.js +974 -0
  79. data/spec/rails3/app_root/public/javascripts/effects.js +1123 -0
  80. data/spec/rails3/app_root/public/javascripts/prototype.js +6001 -0
  81. data/spec/rails3/app_root/public/javascripts/rails.js +175 -0
  82. data/spec/rails3/app_root/public/robots.txt +5 -0
  83. data/spec/rails3/app_root/public/stylesheets/.gitkeep +0 -0
  84. data/spec/rails3/app_root/script/rails +6 -0
  85. data/spec/rails3/app_root/test/fixtures/users.yml +9 -0
  86. data/spec/rails3/app_root/test/performance/browsing_test.rb +9 -0
  87. data/spec/rails3/app_root/test/test_helper.rb +13 -0
  88. data/spec/rails3/app_root/test/unit/user_test.rb +8 -0
  89. data/spec/rails3/app_root/vendor/plugins/.gitkeep +0 -0
  90. data/spec/rails3/controller_brute_force_protection_spec.rb +72 -0
  91. data/spec/rails3/controller_remember_me_spec.rb +65 -0
  92. data/spec/rails3/controller_session_timeout_spec.rb +49 -0
  93. data/spec/rails3/controller_spec.rb +115 -0
  94. data/spec/rails3/spec_helper.rb +115 -0
  95. data/spec/rails3/user_activation_spec.rb +148 -0
  96. data/spec/rails3/user_password_reset_spec.rb +76 -0
  97. data/spec/rails3/user_remember_me_spec.rb +66 -0
  98. data/spec/rails3/user_spec.rb +283 -0
  99. data/spec/sorcery_crypto_providers_spec.rb +182 -0
  100. data/spec/spec_helper.rb +18 -0
  101. metadata +341 -0
@@ -0,0 +1,182 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Crypto Providers wrappers" do
4
+
5
+ describe Sorcery::CryptoProviders::MD5 do
6
+
7
+ after(:each) do
8
+ Sorcery::CryptoProviders::MD5.reset!
9
+ end
10
+
11
+ it "encrypt works via wrapper like normal lib" do
12
+ Sorcery::CryptoProviders::MD5.encrypt('Noam Ben-Ari').should == Digest::MD5.hexdigest('Noam Ben-Ari')
13
+ end
14
+
15
+ it "works with multiple stretches" do
16
+ Sorcery::CryptoProviders::MD5.stretches = 3
17
+ Sorcery::CryptoProviders::MD5.encrypt('Noam Ben-Ari').should == Digest::MD5.hexdigest(Digest::MD5.hexdigest(Digest::MD5.hexdigest('Noam Ben-Ari')))
18
+ end
19
+
20
+ it "matches? returns true when matches" do
21
+ Sorcery::CryptoProviders::MD5.matches?(Digest::MD5.hexdigest('Noam Ben-Ari'), 'Noam Ben-Ari').should be_true
22
+ end
23
+
24
+ it "matches? returns false when no match" do
25
+ Sorcery::CryptoProviders::MD5.matches?(Digest::MD5.hexdigest('Noam Ben-Ari'), 'Some Dude').should be_false
26
+ end
27
+
28
+ end
29
+
30
+ describe Sorcery::CryptoProviders::SHA1 do
31
+
32
+ before(:all) do
33
+ @digest = 'Noam Ben-Ari'
34
+ 10.times {@digest = Digest::SHA1.hexdigest(@digest)}
35
+ end
36
+
37
+ after(:each) do
38
+ Sorcery::CryptoProviders::SHA1.reset!
39
+ end
40
+
41
+ it "encrypt works via wrapper like normal lib" do
42
+ Sorcery::CryptoProviders::SHA1.encrypt('Noam Ben-Ari').should == @digest
43
+ end
44
+
45
+ it "works with multiple stretches" do
46
+ Sorcery::CryptoProviders::SHA1.stretches = 3
47
+ Sorcery::CryptoProviders::SHA1.encrypt('Noam Ben-Ari').should == Digest::SHA1.hexdigest(Digest::SHA1.hexdigest(Digest::SHA1.hexdigest('Noam Ben-Ari')))
48
+ end
49
+
50
+ it "matches? returns true when matches" do
51
+ Sorcery::CryptoProviders::SHA1.matches?(@digest, 'Noam Ben-Ari').should be_true
52
+ end
53
+
54
+ it "matches? returns false when no match" do
55
+ Sorcery::CryptoProviders::SHA1.matches?(@digest, 'Some Dude').should be_false
56
+ end
57
+
58
+ end
59
+
60
+ describe Sorcery::CryptoProviders::SHA256 do
61
+
62
+ before(:all) do
63
+ @digest = 'Noam Ben-Ari'
64
+ 20.times {@digest = Digest::SHA256.hexdigest(@digest)}
65
+ end
66
+
67
+ after(:each) do
68
+ Sorcery::CryptoProviders::SHA256.reset!
69
+ end
70
+
71
+ it "encrypt works via wrapper like normal lib" do
72
+ Sorcery::CryptoProviders::SHA256.encrypt('Noam Ben-Ari').should == @digest
73
+ end
74
+
75
+ it "works with multiple stretches" do
76
+ Sorcery::CryptoProviders::SHA256.stretches = 3
77
+ Sorcery::CryptoProviders::SHA256.encrypt('Noam Ben-Ari').should == Digest::SHA256.hexdigest(Digest::SHA256.hexdigest(Digest::SHA256.hexdigest('Noam Ben-Ari')))
78
+ end
79
+
80
+ it "matches? returns true when matches" do
81
+ Sorcery::CryptoProviders::SHA256.matches?(@digest, 'Noam Ben-Ari').should be_true
82
+ end
83
+
84
+ it "matches? returns false when no match" do
85
+ Sorcery::CryptoProviders::SHA256.matches?(@digest, 'Some Dude').should be_false
86
+ end
87
+
88
+ end
89
+
90
+ describe Sorcery::CryptoProviders::SHA512 do
91
+
92
+ before(:all) do
93
+ @digest = 'Noam Ben-Ari'
94
+ 20.times {@digest = Digest::SHA512.hexdigest(@digest)}
95
+ end
96
+
97
+ after(:each) do
98
+ Sorcery::CryptoProviders::SHA512.reset!
99
+ end
100
+
101
+ it "encrypt works via wrapper like normal lib" do
102
+ Sorcery::CryptoProviders::SHA512.encrypt('Noam Ben-Ari').should == @digest
103
+ end
104
+
105
+ it "works with multiple stretches" do
106
+ Sorcery::CryptoProviders::SHA512.stretches = 3
107
+ Sorcery::CryptoProviders::SHA512.encrypt('Noam Ben-Ari').should == Digest::SHA512.hexdigest(Digest::SHA512.hexdigest(Digest::SHA512.hexdigest('Noam Ben-Ari')))
108
+ end
109
+
110
+ it "matches? returns true when matches" do
111
+ Sorcery::CryptoProviders::SHA512.matches?(@digest, 'Noam Ben-Ari').should be_true
112
+ end
113
+
114
+ it "matches? returns false when no match" do
115
+ Sorcery::CryptoProviders::SHA512.matches?(@digest, 'Some Dude').should be_false
116
+ end
117
+
118
+ end
119
+
120
+ describe Sorcery::CryptoProviders::AES256 do
121
+
122
+ before(:all) do
123
+ aes = OpenSSL::Cipher::Cipher.new("AES-256-ECB")
124
+ aes.encrypt
125
+ @key = "asd234dfs423fddsmndsflktsdf32343"
126
+ aes.key = @key
127
+ @digest = 'Noam Ben-Ari'
128
+ @digest = [aes.update(@digest) + aes.final].pack("m").chomp
129
+ Sorcery::CryptoProviders::AES256.key = @key
130
+ end
131
+
132
+ it "encrypt works via wrapper like normal lib" do
133
+ Sorcery::CryptoProviders::AES256.encrypt('Noam Ben-Ari').should == @digest
134
+ end
135
+
136
+ it "matches? returns true when matches" do
137
+ Sorcery::CryptoProviders::AES256.matches?(@digest, 'Noam Ben-Ari').should be_true
138
+ end
139
+
140
+ it "matches? returns false when no match" do
141
+ Sorcery::CryptoProviders::AES256.matches?(@digest, 'Some Dude').should be_false
142
+ end
143
+
144
+ it "can be decrypted" do
145
+ aes = OpenSSL::Cipher::Cipher.new("AES-256-ECB")
146
+ aes.decrypt
147
+ aes.key = @key
148
+ (aes.update(@digest.unpack("m").first) + aes.final).should == "Noam Ben-Ari"
149
+ end
150
+
151
+ end
152
+
153
+ describe Sorcery::CryptoProviders::BCrypt do
154
+
155
+ before(:all) do
156
+ @digest = BCrypt::Password.create('Noam Ben-Ari', :cost => 10)
157
+ end
158
+
159
+ after(:each) do
160
+ Sorcery::CryptoProviders::BCrypt.reset!
161
+ end
162
+
163
+ it "should be comparable with original secret" do
164
+ BCrypt::Password.new(Sorcery::CryptoProviders::BCrypt.encrypt('Noam Ben-Ari')).should == 'Noam Ben-Ari'
165
+ end
166
+
167
+ it "works with multiple costs" do
168
+ Sorcery::CryptoProviders::BCrypt.cost = 3
169
+ BCrypt::Password.new(Sorcery::CryptoProviders::BCrypt.encrypt('Noam Ben-Ari')).should == 'Noam Ben-Ari'
170
+ end
171
+
172
+ it "matches? returns true when matches" do
173
+ Sorcery::CryptoProviders::BCrypt.matches?(@digest, 'Noam Ben-Ari').should be_true
174
+ end
175
+
176
+ it "matches? returns false when no match" do
177
+ Sorcery::CryptoProviders::BCrypt.matches?(@digest, 'Some Dude').should be_false
178
+ end
179
+
180
+ end
181
+
182
+ end
@@ -0,0 +1,18 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ require 'simplecov'
5
+ SimpleCov.root File.join(File.dirname(__FILE__), '..', 'lib')
6
+ SimpleCov.start
7
+
8
+
9
+ require 'rspec'
10
+ require 'sorcery'
11
+
12
+ # Requires supporting files with custom matchers and macros, etc,
13
+ # in ./support/ and its subdirectories.
14
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
15
+
16
+ RSpec.configure do |config|
17
+
18
+ end
metadata ADDED
@@ -0,0 +1,341 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sorcery
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 0
9
+ version: 0.1.0
10
+ platform: ruby
11
+ authors:
12
+ - Noam Ben Ari
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-02-01 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rails
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - "="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 3
29
+ - 0
30
+ - 3
31
+ version: 3.0.3
32
+ type: :development
33
+ prerelease: false
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rspec
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 2
44
+ - 3
45
+ - 0
46
+ version: 2.3.0
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: rspec-rails
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: ruby-debug19
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
72
+ version: "0"
73
+ type: :development
74
+ prerelease: false
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: sqlite3-ruby
78
+ requirement: &id005 !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 0
85
+ version: "0"
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: *id005
89
+ - !ruby/object:Gem::Dependency
90
+ name: yard
91
+ requirement: &id006 !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ segments:
97
+ - 0
98
+ - 6
99
+ - 0
100
+ version: 0.6.0
101
+ type: :development
102
+ prerelease: false
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: cucumber
106
+ requirement: &id007 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ type: :development
115
+ prerelease: false
116
+ version_requirements: *id007
117
+ - !ruby/object:Gem::Dependency
118
+ name: bundler
119
+ requirement: &id008 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ segments:
125
+ - 1
126
+ - 0
127
+ - 0
128
+ version: 1.0.0
129
+ type: :development
130
+ prerelease: false
131
+ version_requirements: *id008
132
+ - !ruby/object:Gem::Dependency
133
+ name: jeweler
134
+ requirement: &id009 !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ~>
138
+ - !ruby/object:Gem::Version
139
+ segments:
140
+ - 1
141
+ - 5
142
+ - 2
143
+ version: 1.5.2
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: *id009
147
+ - !ruby/object:Gem::Dependency
148
+ name: simplecov
149
+ requirement: &id010 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ segments:
155
+ - 0
156
+ - 3
157
+ - 8
158
+ version: 0.3.8
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: *id010
162
+ description: Provides common authentication needs such as signing in/out, activating by email and resetting password.
163
+ email: nbenari@gmail.com
164
+ executables: []
165
+
166
+ extensions: []
167
+
168
+ extra_rdoc_files:
169
+ - LICENSE.txt
170
+ - README.rdoc
171
+ files:
172
+ - .document
173
+ - .rspec
174
+ - Gemfile
175
+ - Gemfile.lock
176
+ - LICENSE.txt
177
+ - README.rdoc
178
+ - Rakefile
179
+ - VERSION
180
+ - features/support/env.rb
181
+ - lib/sorcery.rb
182
+ - lib/sorcery/controller.rb
183
+ - lib/sorcery/controller/submodules/brute_force_protection.rb
184
+ - lib/sorcery/controller/submodules/remember_me.rb
185
+ - lib/sorcery/controller/submodules/session_timeout.rb
186
+ - lib/sorcery/crypto_providers/aes256.rb
187
+ - lib/sorcery/crypto_providers/bcrypt.rb
188
+ - lib/sorcery/crypto_providers/md5.rb
189
+ - lib/sorcery/crypto_providers/sha1.rb
190
+ - lib/sorcery/crypto_providers/sha256.rb
191
+ - lib/sorcery/crypto_providers/sha512.rb
192
+ - lib/sorcery/engine.rb
193
+ - lib/sorcery/model.rb
194
+ - lib/sorcery/model/submodules/password_reset.rb
195
+ - lib/sorcery/model/submodules/remember_me.rb
196
+ - lib/sorcery/model/submodules/user_activation.rb
197
+ - spec/Gemfile
198
+ - spec/Gemfile.lock
199
+ - spec/Rakefile
200
+ - spec/rails3/.rspec
201
+ - spec/rails3/Gemfile
202
+ - spec/rails3/Gemfile.lock
203
+ - spec/rails3/Rakefile
204
+ - spec/rails3/app_root/.gitignore
205
+ - spec/rails3/app_root/README
206
+ - spec/rails3/app_root/Rakefile.unused
207
+ - spec/rails3/app_root/app/controllers/application_controller.rb
208
+ - spec/rails3/app_root/app/helpers/application_helper.rb
209
+ - spec/rails3/app_root/app/mailers/sorcery_mailer.rb
210
+ - spec/rails3/app_root/app/models/user.rb
211
+ - spec/rails3/app_root/app/views/layouts/application.html.erb
212
+ - spec/rails3/app_root/app/views/sorcery_mailer/activation_email.html.erb
213
+ - spec/rails3/app_root/app/views/sorcery_mailer/activation_email.text.erb
214
+ - spec/rails3/app_root/app/views/sorcery_mailer/activation_success_email.html.erb
215
+ - spec/rails3/app_root/app/views/sorcery_mailer/activation_success_email.text.erb
216
+ - spec/rails3/app_root/app/views/sorcery_mailer/reset_password_email.html.erb
217
+ - spec/rails3/app_root/app/views/sorcery_mailer/reset_password_email.text.erb
218
+ - spec/rails3/app_root/config.ru
219
+ - spec/rails3/app_root/config/application.rb
220
+ - spec/rails3/app_root/config/boot.rb
221
+ - spec/rails3/app_root/config/database.yml
222
+ - spec/rails3/app_root/config/environment.rb
223
+ - spec/rails3/app_root/config/environments/development.rb
224
+ - spec/rails3/app_root/config/environments/in_memory.rb
225
+ - spec/rails3/app_root/config/environments/production.rb
226
+ - spec/rails3/app_root/config/environments/test.rb
227
+ - spec/rails3/app_root/config/initializers/backtrace_silencers.rb
228
+ - spec/rails3/app_root/config/initializers/inflections.rb
229
+ - spec/rails3/app_root/config/initializers/mime_types.rb
230
+ - spec/rails3/app_root/config/initializers/secret_token.rb
231
+ - spec/rails3/app_root/config/initializers/session_store.rb
232
+ - spec/rails3/app_root/config/locales/en.yml
233
+ - spec/rails3/app_root/config/routes.rb
234
+ - spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb
235
+ - spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb
236
+ - spec/rails3/app_root/db/migrate/password_reset/20101224223622_add_password_reset_to_users.rb
237
+ - spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
238
+ - spec/rails3/app_root/db/schema.rb
239
+ - spec/rails3/app_root/db/seeds.rb
240
+ - spec/rails3/app_root/lib/tasks/.gitkeep
241
+ - spec/rails3/app_root/public/404.html
242
+ - spec/rails3/app_root/public/422.html
243
+ - spec/rails3/app_root/public/500.html
244
+ - spec/rails3/app_root/public/favicon.ico
245
+ - spec/rails3/app_root/public/images/rails.png
246
+ - spec/rails3/app_root/public/index.html
247
+ - spec/rails3/app_root/public/javascripts/application.js
248
+ - spec/rails3/app_root/public/javascripts/controls.js
249
+ - spec/rails3/app_root/public/javascripts/dragdrop.js
250
+ - spec/rails3/app_root/public/javascripts/effects.js
251
+ - spec/rails3/app_root/public/javascripts/prototype.js
252
+ - spec/rails3/app_root/public/javascripts/rails.js
253
+ - spec/rails3/app_root/public/robots.txt
254
+ - spec/rails3/app_root/public/stylesheets/.gitkeep
255
+ - spec/rails3/app_root/script/rails
256
+ - spec/rails3/app_root/test/fixtures/users.yml
257
+ - spec/rails3/app_root/test/performance/browsing_test.rb
258
+ - spec/rails3/app_root/test/test_helper.rb
259
+ - spec/rails3/app_root/test/unit/user_test.rb
260
+ - spec/rails3/app_root/vendor/plugins/.gitkeep
261
+ - spec/rails3/controller_brute_force_protection_spec.rb
262
+ - spec/rails3/controller_remember_me_spec.rb
263
+ - spec/rails3/controller_session_timeout_spec.rb
264
+ - spec/rails3/controller_spec.rb
265
+ - spec/rails3/spec_helper.rb
266
+ - spec/rails3/user_activation_spec.rb
267
+ - spec/rails3/user_password_reset_spec.rb
268
+ - spec/rails3/user_remember_me_spec.rb
269
+ - spec/rails3/user_spec.rb
270
+ - spec/sorcery_crypto_providers_spec.rb
271
+ - spec/spec_helper.rb
272
+ has_rdoc: true
273
+ homepage: http://github.com/NoamB/sorcery
274
+ licenses:
275
+ - MIT
276
+ post_install_message:
277
+ rdoc_options: []
278
+
279
+ require_paths:
280
+ - lib
281
+ required_ruby_version: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ segments:
287
+ - 0
288
+ version: "0"
289
+ required_rubygems_version: !ruby/object:Gem::Requirement
290
+ none: false
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ segments:
295
+ - 0
296
+ version: "0"
297
+ requirements: []
298
+
299
+ rubyforge_project:
300
+ rubygems_version: 1.3.7
301
+ signing_key:
302
+ specification_version: 3
303
+ summary: Magical authentication for Rails 3 applications
304
+ test_files:
305
+ - spec/rails3/app_root/app/controllers/application_controller.rb
306
+ - spec/rails3/app_root/app/helpers/application_helper.rb
307
+ - spec/rails3/app_root/app/mailers/sorcery_mailer.rb
308
+ - spec/rails3/app_root/app/models/user.rb
309
+ - spec/rails3/app_root/config/application.rb
310
+ - spec/rails3/app_root/config/boot.rb
311
+ - spec/rails3/app_root/config/environment.rb
312
+ - spec/rails3/app_root/config/environments/development.rb
313
+ - spec/rails3/app_root/config/environments/in_memory.rb
314
+ - spec/rails3/app_root/config/environments/production.rb
315
+ - spec/rails3/app_root/config/environments/test.rb
316
+ - spec/rails3/app_root/config/initializers/backtrace_silencers.rb
317
+ - spec/rails3/app_root/config/initializers/inflections.rb
318
+ - spec/rails3/app_root/config/initializers/mime_types.rb
319
+ - spec/rails3/app_root/config/initializers/secret_token.rb
320
+ - spec/rails3/app_root/config/initializers/session_store.rb
321
+ - spec/rails3/app_root/config/routes.rb
322
+ - spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb
323
+ - spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb
324
+ - spec/rails3/app_root/db/migrate/password_reset/20101224223622_add_password_reset_to_users.rb
325
+ - spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
326
+ - spec/rails3/app_root/db/schema.rb
327
+ - spec/rails3/app_root/db/seeds.rb
328
+ - spec/rails3/app_root/test/performance/browsing_test.rb
329
+ - spec/rails3/app_root/test/test_helper.rb
330
+ - spec/rails3/app_root/test/unit/user_test.rb
331
+ - spec/rails3/controller_brute_force_protection_spec.rb
332
+ - spec/rails3/controller_remember_me_spec.rb
333
+ - spec/rails3/controller_session_timeout_spec.rb
334
+ - spec/rails3/controller_spec.rb
335
+ - spec/rails3/spec_helper.rb
336
+ - spec/rails3/user_activation_spec.rb
337
+ - spec/rails3/user_password_reset_spec.rb
338
+ - spec/rails3/user_remember_me_spec.rb
339
+ - spec/rails3/user_spec.rb
340
+ - spec/sorcery_crypto_providers_spec.rb
341
+ - spec/spec_helper.rb