janus 0.5.0

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.
Files changed (79) hide show
  1. data/README.rdoc +144 -0
  2. data/lib/janus/config.rb +26 -0
  3. data/lib/janus/controllers/confirmations_controller.rb +56 -0
  4. data/lib/janus/controllers/helpers.rb +54 -0
  5. data/lib/janus/controllers/internal_helpers.rb +33 -0
  6. data/lib/janus/controllers/passwords_controller.rb +60 -0
  7. data/lib/janus/controllers/registrations_controller.rb +55 -0
  8. data/lib/janus/controllers/sessions_controller.rb +94 -0
  9. data/lib/janus/controllers/url_helpers.rb +61 -0
  10. data/lib/janus/helper.rb +11 -0
  11. data/lib/janus/hooks/rememberable.rb +20 -0
  12. data/lib/janus/hooks/remote_authenticatable.rb +27 -0
  13. data/lib/janus/hooks/trackable.rb +3 -0
  14. data/lib/janus/hooks.rb +58 -0
  15. data/lib/janus/mailer.rb +13 -0
  16. data/lib/janus/manager.rb +97 -0
  17. data/lib/janus/models/base.rb +31 -0
  18. data/lib/janus/models/confirmable.rb +45 -0
  19. data/lib/janus/models/database_authenticatable.rb +98 -0
  20. data/lib/janus/models/rememberable.rb +54 -0
  21. data/lib/janus/models/remote_authenticatable.rb +99 -0
  22. data/lib/janus/models/remote_token.rb +17 -0
  23. data/lib/janus/models/trackable.rb +37 -0
  24. data/lib/janus/routes.rb +78 -0
  25. data/lib/janus/strategies/base.rb +40 -0
  26. data/lib/janus/strategies/database_authenticatable.rb +20 -0
  27. data/lib/janus/strategies/rememberable.rb +52 -0
  28. data/lib/janus/strategies/remote_authenticatable.rb +28 -0
  29. data/lib/janus/strategies.rb +33 -0
  30. data/lib/janus/test_helper.rb +25 -0
  31. data/lib/janus.rb +60 -0
  32. data/test/functional/home_controller_test.rb +8 -0
  33. data/test/functional/janus/mailer_test.rb +14 -0
  34. data/test/functional/janus/manager_test.rb +94 -0
  35. data/test/functional/users/confirmations_controller_test.rb +59 -0
  36. data/test/functional/users/passwords_controller_test.rb +101 -0
  37. data/test/functional/users/registrations_controller_test.rb +112 -0
  38. data/test/functional/users/sessions_controller_test.rb +100 -0
  39. data/test/functional/users_controller_test.rb +22 -0
  40. data/test/integration/users/rememberable_test.rb +32 -0
  41. data/test/integration/users/remote_test.rb +72 -0
  42. data/test/integration/users/sessions_test.rb +18 -0
  43. data/test/integration/users/trackable_test.rb +22 -0
  44. data/test/rails_app/app/controllers/application_controller.rb +9 -0
  45. data/test/rails_app/app/controllers/blogs_controller.rb +6 -0
  46. data/test/rails_app/app/controllers/home_controller.rb +4 -0
  47. data/test/rails_app/app/controllers/users/confirmations_controller.rb +3 -0
  48. data/test/rails_app/app/controllers/users/passwords_controller.rb +3 -0
  49. data/test/rails_app/app/controllers/users/registrations_controller.rb +7 -0
  50. data/test/rails_app/app/controllers/users/sessions_controller.rb +11 -0
  51. data/test/rails_app/app/controllers/users_controller.rb +9 -0
  52. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  53. data/test/rails_app/app/mailers/janus_mailer.rb +2 -0
  54. data/test/rails_app/app/models/remote_token.rb +6 -0
  55. data/test/rails_app/app/models/user.rb +8 -0
  56. data/test/rails_app/config/application.rb +42 -0
  57. data/test/rails_app/config/boot.rb +6 -0
  58. data/test/rails_app/config/environment.rb +5 -0
  59. data/test/rails_app/config/environments/development.rb +26 -0
  60. data/test/rails_app/config/environments/production.rb +49 -0
  61. data/test/rails_app/config/environments/test.rb +36 -0
  62. data/test/rails_app/config/initializers/janus.rb +11 -0
  63. data/test/rails_app/config/initializers/secret_token.rb +7 -0
  64. data/test/rails_app/config/initializers/session_store.rb +8 -0
  65. data/test/rails_app/config/routes.rb +12 -0
  66. data/test/rails_app/db/migrate/20110323153820_create_users.rb +34 -0
  67. data/test/rails_app/db/migrate/20110331153546_create_remote_tokens.rb +15 -0
  68. data/test/rails_app/db/schema.rb +45 -0
  69. data/test/rails_app/db/seeds.rb +7 -0
  70. data/test/test_helper.rb +103 -0
  71. data/test/unit/confirmable_test.rb +36 -0
  72. data/test/unit/janus_test.rb +27 -0
  73. data/test/unit/rememberable_test.rb +50 -0
  74. data/test/unit/remote_authenticatable_test.rb +37 -0
  75. data/test/unit/remote_token_test.rb +9 -0
  76. data/test/unit/reset_password_test.rb +45 -0
  77. data/test/unit/trackable_test.rb +21 -0
  78. data/test/unit/user_test.rb +60 -0
  79. metadata +232 -0
@@ -0,0 +1,103 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require File.expand_path('../rails_app/config/environment', __FILE__)
4
+ require 'rails/test_help'
5
+ require 'capybara/rails'
6
+
7
+ class ActiveSupport::TestCase
8
+ self.fixture_path = File.expand_path('../fixtures', __FILE__)
9
+ fixtures :all
10
+ end
11
+
12
+ class ActionController::TestCase
13
+ include Janus::TestHelper
14
+
15
+ def assert_email(count = 1, message = nil)
16
+ assert_difference('ActionMailer::Base.deliveries.size', count, message) do
17
+ yield
18
+ end
19
+ end
20
+
21
+ def assert_no_email(message = nil)
22
+ assert_no_difference('ActionMailer::Base.deliveries.size', message) do
23
+ yield
24
+ end
25
+ end
26
+ end
27
+
28
+ class ActionDispatch::IntegrationTest
29
+ self.fixture_path = File.expand_path('../fixtures', __FILE__)
30
+
31
+ include Capybara::DSL
32
+
33
+ teardown { page.reset! }
34
+
35
+ def sign_up(user, options = {})
36
+ scope = options[:scope]
37
+ route = "new_#{scope}_registration_url"
38
+
39
+ visit send(route, options[:url])
40
+ fill_in "#{scope}_email", :with => user[:email]
41
+ fill_in "#{scope}_password", :with => user[:password]
42
+ fill_in "#{scope}_password_confirmation", :with => user[:password]
43
+ find('input[name=commit]').click
44
+ end
45
+
46
+ def sign_in(user, options = {})
47
+ scope = options[:scope] || Janus.scope_for(user)
48
+ route = "new_#{scope}_session_url"
49
+
50
+ visit send(route, options[:url])
51
+ fill_in "#{scope}_email", :with => user.email
52
+ fill_in "#{scope}_password", :with => 'secret'
53
+ check "remember_me" if options[:remember_me]
54
+ find('input[name=commit]').click
55
+ end
56
+
57
+ def sign_out(user_or_scope)
58
+ scope = Janus.scope_for(user_or_scope)
59
+ route = "destroy_#{scope}_session_url"
60
+ visit send(route)
61
+ end
62
+
63
+ def service_login(scope, options)
64
+ route = "new_#{scope}_session_url"
65
+ visit send(route, options)
66
+ end
67
+
68
+ def close_user_session
69
+ driver = Capybara.current_session.driver
70
+ # case driver
71
+ # when Capybara::Driver::Selenium
72
+ # browser = driver.browser
73
+ # browser.manage.delete_cookie(cookie_name)
74
+ # when Capybara::Driver::RackTest
75
+ cookie_jar = driver.browser.current_session.instance_variable_get(:@rack_mock_session).cookie_jar
76
+ cookie_jar.instance_variable_get(:@cookies).reject! do |cookie|
77
+ expires = cookie.instance_variable_get(:@options)["expires"]
78
+ expires.nil? || Time.parse(expires) < Time.now
79
+ end
80
+ # end
81
+ end
82
+
83
+ def assert_authenticated
84
+ assert has_selector?("a#my_page"), "Expected user to be authenticated."
85
+ end
86
+
87
+ def assert_not_authenticated
88
+ assert has_selector?("a#sign_in"), "Expected user to not be authenticated."
89
+ end
90
+
91
+ def assert_select(selector)
92
+ assert has_selector?(selector), "Expected selector <#{selector}> but found none."
93
+ end
94
+ end
95
+
96
+ class ActionMailer::TestCase
97
+ include Rails.application.routes.url_helpers
98
+
99
+ def default_url_options
100
+ Rails.application.config.action_mailer.default_url_options
101
+ end
102
+ end
103
+
@@ -0,0 +1,36 @@
1
+ require 'test_helper'
2
+
3
+ class ConfirmableTest < ActiveSupport::TestCase
4
+ setup do
5
+ @user = users(:julien)
6
+ end
7
+
8
+ test "generate_confirmation_token" do
9
+ @user.generate_confirmation_token
10
+ assert_not_nil @user.confirmation_token
11
+ assert_not_nil @user.confirmation_sent_at
12
+ assert_nil @user.confirmed_at
13
+
14
+ @user.reload
15
+ assert_nil @user.confirmation_token
16
+ assert_nil @user.confirmation_sent_at
17
+ assert_nil @user.confirmed_at
18
+ end
19
+
20
+ test "confirm!" do
21
+ @user.generate_confirmation_token
22
+ @user.confirm!
23
+ assert_nil @user.confirmation_token
24
+ assert_nil @user.confirmation_sent_at
25
+ assert_not_nil @user.confirmed_at
26
+ end
27
+
28
+ test "find_for_confirmation" do
29
+ assert_nil User.find_for_confirmation(nil)
30
+ assert_nil User.find_for_confirmation("amroiuzigsqjg")
31
+
32
+ @user.generate_confirmation_token
33
+ @user.save!
34
+ assert_equal @user, User.find_for_confirmation(@user.confirmation_token)
35
+ end
36
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class JanusTest < ActiveSupport::TestCase
4
+ test "scope_for symbol" do
5
+ assert_equal :user, Janus.scope_for(:user)
6
+ end
7
+
8
+ test "scope_for string" do
9
+ assert_equal :user, Janus.scope_for("user")
10
+ end
11
+
12
+ test "scope_for object" do
13
+ assert_equal :user, Janus.scope_for(User.new)
14
+ end
15
+
16
+ test "config" do
17
+ pepper = Janus.config.pepper
18
+ begin
19
+ Janus.config do |config|
20
+ config.pepper = "0123456789"
21
+ end
22
+ assert_equal "0123456789", Janus.config.pepper
23
+ ensure
24
+ Janus.config.pepper = pepper
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,50 @@
1
+ require 'test_helper'
2
+
3
+ class RememberableTest < ActiveSupport::TestCase
4
+ setup do
5
+ @user = users(:julien)
6
+ end
7
+
8
+ test "remember_token" do
9
+ @user.remember_me!
10
+ assert_not_nil @user.remember_token
11
+ assert_not_nil @user.remember_created_at
12
+
13
+ @user.forget_me!
14
+ assert_nil @user.remember_token
15
+ assert_nil @user.remember_created_at
16
+ end
17
+
18
+ test "should not remember across browsers" do
19
+ @user.remember_me!
20
+ token = @user.remember_token
21
+ created_at = @user.remember_created_at
22
+
23
+ @user.remember_me!
24
+ assert_not_equal token, @user.remember_token
25
+ assert_not_equal created_at, @user.remember_created_at
26
+ end
27
+
28
+ test "find_for_remember_authentication" do
29
+ assert_nil User.find_for_remember_authentication(nil)
30
+ assert_nil User.find_for_remember_authentication(" ")
31
+
32
+ @user.remember_me!
33
+ token = @user.remember_token
34
+
35
+ assert_equal @user, User.find_for_remember_authentication(token)
36
+ assert_equal @user, User.find_for_remember_authentication(token)
37
+
38
+ @user.remember_me!
39
+ assert_nil User.find_for_remember_authentication(token), "token should no longer be valid"
40
+
41
+ @user.forget_me!
42
+ assert_nil User.find_for_remember_authentication(token), "token should have been erased"
43
+ end
44
+
45
+ test "expiration" do
46
+ @user.remember_me!
47
+ @user.update_attribute(:remember_created_at, 1.year.ago)
48
+ assert_nil User.find_for_remember_authentication(@user.remember_token)
49
+ end
50
+ end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class RemoteAuthenticatableTest < ActiveSupport::TestCase
4
+ setup do
5
+ @user = users(:julien)
6
+ end
7
+
8
+ test "session token" do
9
+ @user.generate_session_token!
10
+ assert_not_nil @user.session_token
11
+
12
+ @user.destroy_session_token!
13
+ assert_nil @user.session_token
14
+ end
15
+
16
+ test "find_for_remote_authentication" do
17
+ assert_nil User.find_for_remote_authentication(nil)
18
+ assert_nil User.find_for_remote_authentication(" ")
19
+
20
+ token1 = token2 = nil
21
+
22
+ assert_difference('RemoteToken.count', 2) do
23
+ token1 = @user.generate_remote_token!
24
+ token2 = @user.generate_remote_token!
25
+ end
26
+
27
+ assert_difference('RemoteToken.count', -1) do
28
+ assert_equal @user, User.find_for_remote_authentication(token1)
29
+ assert_nil User.find_for_remote_authentication(token1)
30
+ end
31
+
32
+ assert_difference('RemoteToken.count', -1) do
33
+ assert_equal @user, User.find_for_remote_authentication(token2)
34
+ assert_nil User.find_for_remote_authentication(token2)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class RemoteTokenTest < ActiveSupport::TestCase
4
+ test "should create" do
5
+ remote_token = RemoteToken.create(:user => users(:julien))
6
+ assert remote_token.persisted?, remote_token.errors.to_xml
7
+ assert_not_nil remote_token.token
8
+ end
9
+ end
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ class ResetPasswordTest < ActiveSupport::TestCase
4
+ setup do
5
+ @user = users(:julien)
6
+ end
7
+
8
+ test "generate reset password token" do
9
+ assert @user.generate_reset_password_token!
10
+ assert @user.persisted?
11
+ assert_not_nil @user.reset_password_token
12
+ assert_not_nil @user.reset_password_sent_at
13
+ end
14
+
15
+ test "reset password" do
16
+ assert @user.generate_reset_password_token!
17
+ assert @user.reset_password!('password' => "azerty", 'password_confirmation' => "azerty")
18
+ assert @user.persisted?
19
+ assert_nil @user.reset_password_token
20
+ assert_nil @user.reset_password_sent_at
21
+ assert @user.valid_password?("azerty")
22
+ end
23
+
24
+ test "should find user with token" do
25
+ @user.generate_reset_password_token!
26
+ user = User.find_for_password_reset(@user.reset_password_token)
27
+ assert_equal @user, user
28
+ assert_not_nil user.reset_password_token
29
+ assert_not_nil user.reset_password_sent_at
30
+ end
31
+
32
+ test "should not find user with bad tokens" do
33
+ assert_nil User.find_for_password_reset(nil)
34
+ assert_nil User.find_for_password_reset("ariualfknsmgojqm")
35
+ end
36
+
37
+ test "token expiration" do
38
+ @user.generate_reset_password_token!
39
+ @user.update_attribute(:reset_password_sent_at, 1.week.ago)
40
+ assert_nil User.find_for_password_reset(@user.reset_password_token)
41
+ @user.reload
42
+ assert_nil @user.reset_password_token
43
+ assert_nil @user.reset_password_sent_at
44
+ end
45
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ class TrackableTest < ActiveSupport::TestCase
4
+ test "track!" do
5
+ users(:julien).track!('127.0.0.1')
6
+ users(:julien).reload
7
+
8
+ assert_nil users(:julien).last_sign_in_at
9
+ assert_nil users(:julien).last_sign_in_ip
10
+ assert_not_nil users(:julien).current_sign_in_at
11
+ assert_equal '127.0.0.1', users(:julien).current_sign_in_ip
12
+
13
+ users(:julien).track!('127.0.0.2')
14
+ users(:julien).reload
15
+
16
+ assert_not_nil users(:julien).last_sign_in_at
17
+ assert_not_nil users(:julien).last_sign_in_ip
18
+ assert_not_nil users(:julien).current_sign_in_at
19
+ assert_equal '127.0.0.2', users(:julien).current_sign_in_ip
20
+ end
21
+ end
@@ -0,0 +1,60 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+ setup do
5
+ @user = users(:julien)
6
+ end
7
+
8
+ test "valid_password?" do
9
+ user = User.new(:password => "azerty")
10
+ assert user.valid_password?("azerty")
11
+ assert !user.valid_password?("secret")
12
+
13
+ assert @user.valid_password?('secret')
14
+ assert users(:martha).valid_password?('vacances')
15
+ end
16
+
17
+ test "should validate current_password on update" do
18
+ @user.update_attributes(:email => 'julien@example.fr', :current_password => 'secret')
19
+ assert @user.persisted?, @user.errors.to_xml
20
+
21
+ @user.update_attributes(:email => 'julien@example.fr', :current_password => 'bad secret')
22
+ assert @user.errors[:current_password].any?, @user.errors.to_xml
23
+ end
24
+
25
+ test "password" do
26
+ user = User.new(:password => "my pwd")
27
+ assert_equal "my pwd", user.password
28
+ assert_not_nil user.encrypted_password
29
+ end
30
+
31
+ test "should confirm password" do
32
+ user = User.create(:password => "my pwd", :password_confirmation => "my pwd")
33
+ assert user.errors[:password].empty?, user.errors.to_xml
34
+
35
+ user = User.create(:password => "my pwd", :password_confirmation => "my PWD")
36
+ assert user.errors[:password].any?, user.errors.to_xml
37
+ end
38
+
39
+ test "clean_up_passwords" do
40
+ user = User.new(:email => 'julien@example.com', :password => 'abc', :password_confirmation => 'def')
41
+ assert_not_nil user.email
42
+ assert_not_nil user.password
43
+ assert_not_nil user.password_confirmation
44
+
45
+ user.clean_up_passwords
46
+ assert_not_nil user.email
47
+ assert_nil user.password
48
+ assert_nil user.password_confirmation
49
+ end
50
+
51
+ test "should update" do
52
+ @user.update_attributes(:email => 'julien@example.fr')
53
+ assert @user.persisted?
54
+ end
55
+
56
+ test "find_for_database_authentication" do
57
+ assert_equal @user, User.find_for_database_authentication(:email => @user.email)
58
+ assert_equal users(:martha), User.find_for_database_authentication(:email => users(:martha).email)
59
+ end
60
+ end
metadata ADDED
@@ -0,0 +1,232 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: janus
3
+ version: !ruby/object:Gem::Version
4
+ hash: 11
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 0
10
+ version: 0.5.0
11
+ platform: ruby
12
+ authors:
13
+ - Julien Portalier
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-09-17 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 7
30
+ segments:
31
+ - 3
32
+ - 0
33
+ version: "3.0"
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: bcrypt-ruby
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: addressable
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ type: :runtime
63
+ version_requirements: *id003
64
+ description: Authentication engine for Ruby on Rails.
65
+ email: ysbaddaden@gmail.com
66
+ executables: []
67
+
68
+ extensions: []
69
+
70
+ extra_rdoc_files:
71
+ - README.rdoc
72
+ files:
73
+ - README.rdoc
74
+ - lib/janus.rb
75
+ - lib/janus/config.rb
76
+ - lib/janus/controllers/confirmations_controller.rb
77
+ - lib/janus/controllers/helpers.rb
78
+ - lib/janus/controllers/internal_helpers.rb
79
+ - lib/janus/controllers/passwords_controller.rb
80
+ - lib/janus/controllers/registrations_controller.rb
81
+ - lib/janus/controllers/sessions_controller.rb
82
+ - lib/janus/controllers/url_helpers.rb
83
+ - lib/janus/helper.rb
84
+ - lib/janus/hooks.rb
85
+ - lib/janus/hooks/rememberable.rb
86
+ - lib/janus/hooks/remote_authenticatable.rb
87
+ - lib/janus/hooks/trackable.rb
88
+ - lib/janus/mailer.rb
89
+ - lib/janus/manager.rb
90
+ - lib/janus/models/base.rb
91
+ - lib/janus/models/confirmable.rb
92
+ - lib/janus/models/database_authenticatable.rb
93
+ - lib/janus/models/rememberable.rb
94
+ - lib/janus/models/remote_authenticatable.rb
95
+ - lib/janus/models/remote_token.rb
96
+ - lib/janus/models/trackable.rb
97
+ - lib/janus/routes.rb
98
+ - lib/janus/strategies.rb
99
+ - lib/janus/strategies/base.rb
100
+ - lib/janus/strategies/database_authenticatable.rb
101
+ - lib/janus/strategies/rememberable.rb
102
+ - lib/janus/strategies/remote_authenticatable.rb
103
+ - lib/janus/test_helper.rb
104
+ - test/functional/home_controller_test.rb
105
+ - test/functional/janus/mailer_test.rb
106
+ - test/functional/janus/manager_test.rb
107
+ - test/functional/users/confirmations_controller_test.rb
108
+ - test/functional/users/passwords_controller_test.rb
109
+ - test/functional/users/registrations_controller_test.rb
110
+ - test/functional/users/sessions_controller_test.rb
111
+ - test/functional/users_controller_test.rb
112
+ - test/integration/users/rememberable_test.rb
113
+ - test/integration/users/remote_test.rb
114
+ - test/integration/users/sessions_test.rb
115
+ - test/integration/users/trackable_test.rb
116
+ - test/rails_app/app/controllers/application_controller.rb
117
+ - test/rails_app/app/controllers/blogs_controller.rb
118
+ - test/rails_app/app/controllers/home_controller.rb
119
+ - test/rails_app/app/controllers/users/confirmations_controller.rb
120
+ - test/rails_app/app/controllers/users/passwords_controller.rb
121
+ - test/rails_app/app/controllers/users/registrations_controller.rb
122
+ - test/rails_app/app/controllers/users/sessions_controller.rb
123
+ - test/rails_app/app/controllers/users_controller.rb
124
+ - test/rails_app/app/helpers/application_helper.rb
125
+ - test/rails_app/app/mailers/janus_mailer.rb
126
+ - test/rails_app/app/models/remote_token.rb
127
+ - test/rails_app/app/models/user.rb
128
+ - test/rails_app/config/application.rb
129
+ - test/rails_app/config/boot.rb
130
+ - test/rails_app/config/environment.rb
131
+ - test/rails_app/config/environments/development.rb
132
+ - test/rails_app/config/environments/production.rb
133
+ - test/rails_app/config/environments/test.rb
134
+ - test/rails_app/config/initializers/janus.rb
135
+ - test/rails_app/config/initializers/secret_token.rb
136
+ - test/rails_app/config/initializers/session_store.rb
137
+ - test/rails_app/config/routes.rb
138
+ - test/rails_app/db/migrate/20110323153820_create_users.rb
139
+ - test/rails_app/db/migrate/20110331153546_create_remote_tokens.rb
140
+ - test/rails_app/db/schema.rb
141
+ - test/rails_app/db/seeds.rb
142
+ - test/test_helper.rb
143
+ - test/unit/confirmable_test.rb
144
+ - test/unit/janus_test.rb
145
+ - test/unit/rememberable_test.rb
146
+ - test/unit/remote_authenticatable_test.rb
147
+ - test/unit/remote_token_test.rb
148
+ - test/unit/reset_password_test.rb
149
+ - test/unit/trackable_test.rb
150
+ - test/unit/user_test.rb
151
+ has_rdoc: true
152
+ homepage: http://github.com/ysbaddaden/janus
153
+ licenses: []
154
+
155
+ post_install_message:
156
+ rdoc_options: []
157
+
158
+ require_paths:
159
+ - lib
160
+ required_ruby_version: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ hash: 3
166
+ segments:
167
+ - 0
168
+ version: "0"
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ hash: 3
175
+ segments:
176
+ - 0
177
+ version: "0"
178
+ requirements: []
179
+
180
+ rubyforge_project:
181
+ rubygems_version: 1.6.2
182
+ signing_key:
183
+ specification_version: 3
184
+ summary: Authentication engine for Ruby on Rails.
185
+ test_files:
186
+ - test/functional/home_controller_test.rb
187
+ - test/functional/janus/mailer_test.rb
188
+ - test/functional/janus/manager_test.rb
189
+ - test/functional/users/confirmations_controller_test.rb
190
+ - test/functional/users/passwords_controller_test.rb
191
+ - test/functional/users/registrations_controller_test.rb
192
+ - test/functional/users/sessions_controller_test.rb
193
+ - test/functional/users_controller_test.rb
194
+ - test/integration/users/rememberable_test.rb
195
+ - test/integration/users/remote_test.rb
196
+ - test/integration/users/sessions_test.rb
197
+ - test/integration/users/trackable_test.rb
198
+ - test/rails_app/app/controllers/application_controller.rb
199
+ - test/rails_app/app/controllers/blogs_controller.rb
200
+ - test/rails_app/app/controllers/home_controller.rb
201
+ - test/rails_app/app/controllers/users/confirmations_controller.rb
202
+ - test/rails_app/app/controllers/users/passwords_controller.rb
203
+ - test/rails_app/app/controllers/users/registrations_controller.rb
204
+ - test/rails_app/app/controllers/users/sessions_controller.rb
205
+ - test/rails_app/app/controllers/users_controller.rb
206
+ - test/rails_app/app/helpers/application_helper.rb
207
+ - test/rails_app/app/mailers/janus_mailer.rb
208
+ - test/rails_app/app/models/remote_token.rb
209
+ - test/rails_app/app/models/user.rb
210
+ - test/rails_app/config/application.rb
211
+ - test/rails_app/config/boot.rb
212
+ - test/rails_app/config/environment.rb
213
+ - test/rails_app/config/environments/development.rb
214
+ - test/rails_app/config/environments/production.rb
215
+ - test/rails_app/config/environments/test.rb
216
+ - test/rails_app/config/initializers/janus.rb
217
+ - test/rails_app/config/initializers/secret_token.rb
218
+ - test/rails_app/config/initializers/session_store.rb
219
+ - test/rails_app/config/routes.rb
220
+ - test/rails_app/db/migrate/20110323153820_create_users.rb
221
+ - test/rails_app/db/migrate/20110331153546_create_remote_tokens.rb
222
+ - test/rails_app/db/schema.rb
223
+ - test/rails_app/db/seeds.rb
224
+ - test/test_helper.rb
225
+ - test/unit/confirmable_test.rb
226
+ - test/unit/janus_test.rb
227
+ - test/unit/rememberable_test.rb
228
+ - test/unit/remote_authenticatable_test.rb
229
+ - test/unit/remote_token_test.rb
230
+ - test/unit/reset_password_test.rb
231
+ - test/unit/trackable_test.rb
232
+ - test/unit/user_test.rb