devise_ldap_authenticatable 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/.gitignore +5 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +4 -1
  4. data/Rakefile +52 -0
  5. data/VERSION +1 -0
  6. data/devise_ldap_authenticatable.gemspec +166 -0
  7. data/lib/devise_ldap_authenticatable.rb +3 -0
  8. data/lib/devise_ldap_authenticatable/ldap_adapter.rb +14 -4
  9. data/lib/devise_ldap_authenticatable/model.rb +26 -26
  10. data/lib/devise_ldap_authenticatable/version.rb +1 -1
  11. data/lib/generators/devise_ldap_authenticatable/install_generator.rb +2 -0
  12. data/rails/init.rb +2 -0
  13. data/test/devise_ldap_authenticatable_test.rb +8 -0
  14. data/test/ldap/base.ldif +54 -0
  15. data/test/ldap/clear.ldif +20 -0
  16. data/test/ldap/local.schema +6 -0
  17. data/test/ldap/run-server.sh +4 -0
  18. data/test/ldap/slapd-test.conf +106 -0
  19. data/test/rails_app/Gemfile +22 -0
  20. data/test/rails_app/Rakefile +7 -0
  21. data/test/rails_app/app/controllers/application_controller.rb +4 -0
  22. data/test/rails_app/app/controllers/posts_controller.rb +15 -0
  23. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  24. data/test/rails_app/app/helpers/posts_helper.rb +2 -0
  25. data/test/rails_app/app/models/post.rb +2 -0
  26. data/test/rails_app/app/models/user.rb +10 -0
  27. data/test/rails_app/app/views/layouts/application.html.erb +26 -0
  28. data/test/rails_app/app/views/posts/index.html.erb +2 -0
  29. data/test/rails_app/config.ru +4 -0
  30. data/test/rails_app/config/application.rb +46 -0
  31. data/test/rails_app/config/boot.rb +13 -0
  32. data/test/rails_app/config/cucumber.yml +8 -0
  33. data/test/rails_app/config/database.yml +25 -0
  34. data/test/rails_app/config/environment.rb +5 -0
  35. data/test/rails_app/config/environments/development.rb +22 -0
  36. data/test/rails_app/config/environments/production.rb +46 -0
  37. data/test/rails_app/config/environments/test.rb +34 -0
  38. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  39. data/test/rails_app/config/initializers/devise.rb +140 -0
  40. data/test/rails_app/config/initializers/inflections.rb +10 -0
  41. data/test/rails_app/config/initializers/mime_types.rb +5 -0
  42. data/test/rails_app/config/initializers/secret_token.rb +7 -0
  43. data/test/rails_app/config/initializers/session_store.rb +8 -0
  44. data/test/rails_app/config/ldap.yml +33 -0
  45. data/test/rails_app/config/ldap_with_uid.yml +30 -0
  46. data/test/rails_app/config/locales/devise.en.yml +39 -0
  47. data/test/rails_app/config/locales/en.yml +5 -0
  48. data/test/rails_app/config/routes.rb +64 -0
  49. data/test/rails_app/db/migrate/20100708120302_create_posts.rb +14 -0
  50. data/test/rails_app/db/migrate/20100708120448_devise_create_users.rb +26 -0
  51. data/test/rails_app/db/schema.rb +41 -0
  52. data/test/rails_app/db/seeds.rb +7 -0
  53. data/test/rails_app/features/manage_logins.feature +34 -0
  54. data/test/rails_app/features/step_definitions/login_steps.rb +16 -0
  55. data/test/rails_app/features/step_definitions/web_steps.rb +219 -0
  56. data/test/rails_app/features/support/env.rb +58 -0
  57. data/test/rails_app/features/support/paths.rb +38 -0
  58. data/test/rails_app/lib/tasks/.gitkeep +0 -0
  59. data/test/rails_app/lib/tasks/cucumber.rake +53 -0
  60. data/test/rails_app/public/404.html +26 -0
  61. data/test/rails_app/public/422.html +26 -0
  62. data/test/rails_app/public/500.html +26 -0
  63. data/test/rails_app/public/images/rails.png +0 -0
  64. data/test/rails_app/public/javascripts/application.js +2 -0
  65. data/test/rails_app/public/javascripts/controls.js +965 -0
  66. data/test/rails_app/public/javascripts/dragdrop.js +974 -0
  67. data/test/rails_app/public/javascripts/effects.js +1123 -0
  68. data/test/rails_app/public/javascripts/prototype.js +4874 -0
  69. data/test/rails_app/public/javascripts/rails.js +118 -0
  70. data/test/rails_app/public/stylesheets/.gitkeep +0 -0
  71. data/test/rails_app/script/cucumber +10 -0
  72. data/test/rails_app/script/rails +6 -0
  73. data/test/rails_app/test/factories/users.rb +9 -0
  74. data/test/rails_app/test/functional/posts_controller_test.rb +58 -0
  75. data/test/rails_app/test/performance/browsing_test.rb +9 -0
  76. data/test/rails_app/test/test_helper.rb +22 -0
  77. data/test/rails_app/test/unit/helpers/posts_helper_test.rb +4 -0
  78. data/test/rails_app/test/unit/post_test.rb +8 -0
  79. data/test/rails_app/test/unit/user_test.rb +172 -0
  80. data/test/test_helper.rb +3 -0
  81. metadata +140 -30
@@ -0,0 +1,118 @@
1
+ document.observe("dom:loaded", function() {
2
+ function handleRemote(element) {
3
+ var method, url, params;
4
+
5
+ if (element.tagName.toLowerCase() === 'form') {
6
+ method = element.readAttribute('method') || 'post';
7
+ url = element.readAttribute('action');
8
+ params = element.serialize(true);
9
+ } else {
10
+ method = element.readAttribute('data-method') || 'get';
11
+ url = element.readAttribute('href');
12
+ params = {};
13
+ }
14
+
15
+ var event = element.fire("ajax:before");
16
+ if (event.stopped) return false;
17
+
18
+ new Ajax.Request(url, {
19
+ method: method,
20
+ parameters: params,
21
+ asynchronous: true,
22
+ evalScripts: true,
23
+
24
+ onLoading: function(request) { element.fire("ajax:loading", {request: request}); },
25
+ onLoaded: function(request) { element.fire("ajax:loaded", {request: request}); },
26
+ onInteractive: function(request) { element.fire("ajax:interactive", {request: request}); },
27
+ onComplete: function(request) { element.fire("ajax:complete", {request: request}); },
28
+ onSuccess: function(request) { element.fire("ajax:success", {request: request}); },
29
+ onFailure: function(request) { element.fire("ajax:failure", {request: request}); }
30
+ });
31
+
32
+ element.fire("ajax:after");
33
+ }
34
+
35
+ function handleMethod(element) {
36
+ var method, url, token_name, token;
37
+
38
+ method = element.readAttribute('data-method');
39
+ url = element.readAttribute('href');
40
+ csrf_param = $$('meta[name=csrf-param]').first();
41
+ csrf_token = $$('meta[name=csrf-token]').first();
42
+
43
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
44
+ element.parentNode.appendChild(form);
45
+
46
+ if (method != 'post') {
47
+ var field = new Element('input', { type: 'hidden', name: '_method', value: method });
48
+ form.appendChild(field);
49
+ }
50
+
51
+ if (csrf_param) {
52
+ var param = csrf_param.readAttribute('content');
53
+ var token = csrf_token.readAttribute('content');
54
+ var field = new Element('input', { type: 'hidden', name: param, value: token });
55
+ form.appendChild(field);
56
+ }
57
+
58
+ form.submit();
59
+ }
60
+
61
+ $(document.body).observe("click", function(event) {
62
+ var message = event.findElement().readAttribute('data-confirm');
63
+ if (message && !confirm(message)) {
64
+ event.stop();
65
+ return false;
66
+ }
67
+
68
+ var element = event.findElement("a[data-remote]");
69
+ if (element) {
70
+ handleRemote(element);
71
+ event.stop();
72
+ return true;
73
+ }
74
+
75
+ var element = event.findElement("a[data-method]");
76
+ if (element) {
77
+ handleMethod(element);
78
+ event.stop();
79
+ return true;
80
+ }
81
+ });
82
+
83
+ // TODO: I don't think submit bubbles in IE
84
+ $(document.body).observe("submit", function(event) {
85
+ var element = event.findElement(),
86
+ message = element.readAttribute('data-confirm');
87
+ if (message && !confirm(message)) {
88
+ event.stop();
89
+ return false;
90
+ }
91
+
92
+ var inputs = element.select("input[type=submit][data-disable-with]");
93
+ inputs.each(function(input) {
94
+ input.disabled = true;
95
+ input.writeAttribute('data-original-value', input.value);
96
+ input.value = input.readAttribute('data-disable-with');
97
+ });
98
+
99
+ var element = event.findElement("form[data-remote]");
100
+ if (element) {
101
+ handleRemote(element);
102
+ event.stop();
103
+ }
104
+ });
105
+
106
+ $(document.body).observe("ajax:after", function(event) {
107
+ var element = event.findElement();
108
+
109
+ if (element.tagName.toLowerCase() === 'form') {
110
+ var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
111
+ inputs.each(function(input) {
112
+ input.value = input.readAttribute('data-original-value');
113
+ input.writeAttribute('data-original-value', null);
114
+ input.disabled = false;
115
+ });
116
+ }
117
+ });
118
+ });
File without changes
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
4
+ if vendored_cucumber_bin
5
+ load File.expand_path(vendored_cucumber_bin)
6
+ else
7
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
8
+ require 'cucumber'
9
+ load Cucumber::BINARY
10
+ end
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,9 @@
1
+ Factory.define :user do |f|
2
+ f.email "example.user@test.com"
3
+ f.password "secret"
4
+ end
5
+
6
+ Factory.define :admin, :class => "user" do |f|
7
+ f.email "example.admin@test.com"
8
+ f.password "admin_secret"
9
+ end
@@ -0,0 +1,58 @@
1
+ require 'test_helper'
2
+
3
+ class PostsControllerTest < ActionController::TestCase
4
+
5
+ include Devise::TestHelpers
6
+
7
+ context "not logged in" do
8
+ should "should get INDEX" do
9
+ get :index
10
+ assert_response :success
11
+ assert_equal(response.body, "posts#index")
12
+ end
13
+
14
+ context "go to NEW page" do
15
+ setup do
16
+ get :new
17
+ end
18
+
19
+ should "not get NEW" do
20
+ assert_response :redirect
21
+ end
22
+ end
23
+ end
24
+
25
+ context "logged in" do
26
+ setup do
27
+ @user = Factory(:user)
28
+ sign_in(@user)
29
+ end
30
+
31
+ context "get NEW action" do
32
+ setup do
33
+ get :new
34
+ end
35
+
36
+ should "get the NEW action" do
37
+ assert_response :success
38
+ assert_equal(response.body, "posts#new")
39
+ end
40
+ end
41
+
42
+ context "log out user" do
43
+ setup do
44
+ sign_out(@user)
45
+ get :new
46
+ end
47
+
48
+ should "get redirected to the login page" do
49
+ assert_response :redirect
50
+ end
51
+ end
52
+
53
+
54
+ end
55
+
56
+
57
+
58
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+ require 'rails/performance_test_help'
3
+
4
+ # Profiling results for each test method are written to tmp/performance.
5
+ class BrowsingTest < ActionDispatch::PerformanceTest
6
+ def test_homepage
7
+ get '/'
8
+ end
9
+ end
@@ -0,0 +1,22 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path('../../config/environment', __FILE__)
3
+ require 'rails/test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+
7
+ def reset_ldap_server!
8
+ `ldapmodify -x -h localhost -p 3389 -D "cn=admin,dc=test,dc=com" -w secret -f ../ldap/clear.ldif`
9
+ `ldapadd -x -h localhost -p 3389 -D "cn=admin,dc=test,dc=com" -w secret -f ../ldap/base.ldif`
10
+ end
11
+
12
+ def default_devise_settings!
13
+ ::Devise.ldap_logger = true
14
+ ::Devise.ldap_create_user = false
15
+ ::Devise.ldap_update_password = true
16
+ ::Devise.ldap_config = "#{Rails.root}/config/ldap.yml"
17
+ ::Devise.ldap_check_group_membership = false
18
+ ::Devise.ldap_check_attributes = false
19
+ ::Devise.authentication_keys = [:email]
20
+ end
21
+
22
+ end
@@ -0,0 +1,4 @@
1
+ require 'test_helper'
2
+
3
+ class PostsHelperTest < ActionView::TestCase
4
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class PostTest < ActiveSupport::TestCase
4
+ # Replace this with your real tests.
5
+ test "the truth" do
6
+ assert true
7
+ end
8
+ end
@@ -0,0 +1,172 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+
5
+ def should_be_validated(user, password, message = "Password is invalid")
6
+ assert(user.valid_ldap_authentication?(password), message)
7
+ end
8
+
9
+ def should_not_be_validated(user, password, message = "Password is not properly set")
10
+ assert(!user.valid_ldap_authentication?(password), message)
11
+ end
12
+
13
+ context "With default settings" do
14
+ setup do
15
+ reset_ldap_server!
16
+ default_devise_settings!
17
+ end
18
+
19
+ context "create a basic user" do
20
+ setup do
21
+ @user = Factory(:user)
22
+ end
23
+
24
+ should "check for password validation" do
25
+ assert_equal(@user.email, "example.user@test.com")
26
+ should_be_validated @user, "secret"
27
+ should_not_be_validated @user, "wrong_secret"
28
+ should_not_be_validated @user, "Secret"
29
+ end
30
+ end
31
+
32
+ context "change a LDAP password" do
33
+ setup do
34
+ @user = Factory(:user)
35
+ end
36
+
37
+ should "change password" do
38
+ should_be_validated @user, "secret"
39
+ @user.reset_password!("changed","changed")
40
+ should_be_validated @user, "changed", "password was not changed properly on the LDAP sevrer"
41
+ end
42
+
43
+ should "not allow to change password if setting is false" do
44
+ should_be_validated @user, "secret"
45
+ ::Devise.ldap_update_password = false
46
+ @user.reset_password!("wrong_secret", "wrong_secret")
47
+ should_not_be_validated @user, "wrong_secret"
48
+ should_be_validated @user, "secret"
49
+ end
50
+ end
51
+
52
+ context "create new local user if user is in LDAP" do
53
+
54
+ setup do
55
+ assert(User.all.blank?, "There shouldn't be any users in the database")
56
+ end
57
+
58
+ should "don't create user in the database" do
59
+ @user = User.authenticate_with_ldap(:email => "example.user@test.com", :password => "secret")
60
+ assert(User.all.blank?)
61
+ end
62
+
63
+ context "creating users is enabled" do
64
+ setup do
65
+ ::Devise.ldap_create_user = true
66
+ end
67
+
68
+ should "create a user in the database" do
69
+ @user = User.authenticate_with_ldap(:email => "example.user@test.com", :password => "secret")
70
+ assert_equal(User.all.size, 1)
71
+ assert_contains(User.all.collect(&:email), "example.user@test.com", "user not in database")
72
+ end
73
+
74
+ should "not create a user in the database if the password is wrong_secret" do
75
+ @user = User.authenticate_with_ldap(:email => "example.user", :password => "wrong_secret")
76
+ assert(User.all.blank?, "There's users in the database")
77
+ end
78
+
79
+ should "create a user if the user is not in LDAP" do
80
+ @user = User.authenticate_with_ldap(:email => "wrong_secret.user@test.com", :password => "wrong_secret")
81
+ assert(User.all.blank?, "There's users in the database")
82
+ end
83
+ end
84
+
85
+ end
86
+
87
+ context "use groups for authorization" do
88
+ setup do
89
+ @admin = Factory(:admin)
90
+ @user = Factory(:user)
91
+ ::Devise.authentication_keys = [:email]
92
+ ::Devise.ldap_check_group_membership = true
93
+ end
94
+
95
+ should "admin should be allowed in" do
96
+ should_be_validated @admin, "admin_secret"
97
+ end
98
+
99
+ should "admin should have the proper groups set" do
100
+ assert_contains(@admin.ldap_groups, /cn=admins/, "groups attribute not being set properly")
101
+ end
102
+
103
+ should "user should not be allowed in" do
104
+ should_not_be_validated @user, "secret"
105
+ end
106
+ end
107
+
108
+ context "use role attribute for authorization" do
109
+ setup do
110
+ @admin = Factory(:admin)
111
+ @user = Factory(:user)
112
+ ::Devise.ldap_check_attributes = true
113
+ end
114
+
115
+ should "admin should be allowed in" do
116
+ should_be_validated @admin, "admin_secret"
117
+ end
118
+
119
+ should "user should not be allowed in" do
120
+ should_not_be_validated @user, "secret"
121
+ end
122
+ end
123
+
124
+ context "use admin setting to bind" do
125
+ setup do
126
+ @admin = Factory(:admin)
127
+ @user = Factory(:user)
128
+ ::Devise.ldap_use_admin_to_bind = true
129
+ end
130
+
131
+ should "description" do
132
+ should_be_validated @admin, "admin_secret"
133
+ end
134
+ end
135
+
136
+ end
137
+
138
+ context "use uid for login" do
139
+ setup do
140
+ reset_ldap_server!
141
+ default_devise_settings!
142
+ ::Devise.ldap_config = "#{Rails.root}/config/ldap_with_uid.yml"
143
+ ::Devise.authentication_keys = [:uid]
144
+ end
145
+
146
+ context "description" do
147
+ setup do
148
+ @admin = Factory(:admin)
149
+ @user = Factory(:user, :uid => "example_user")
150
+ end
151
+
152
+ should "be able to authenticate using uid" do
153
+ should_be_validated @user, "secret"
154
+ should_not_be_validated @admin, "admin_secret"
155
+ end
156
+ end
157
+
158
+ context "create user" do
159
+ setup do
160
+ ::Devise.ldap_create_user = true
161
+ end
162
+
163
+ should "create a user in the database" do
164
+ @user = User.authenticate_with_ldap(:uid => "example_user", :password => "secret")
165
+ assert_equal(User.all.size, 1)
166
+ assert_contains(User.all.collect(&:uid), "example_user", "user not in database")
167
+ end
168
+ end
169
+ end
170
+
171
+
172
+ end
@@ -0,0 +1,3 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_support/test_case'
metadata CHANGED
@@ -1,21 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_ldap_authenticatable
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 13
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- - 0
9
- version: 0.4.0
9
+ - 1
10
+ version: 0.4.1
10
11
  platform: ruby
11
12
  authors:
12
- - Daniel McNevin
13
13
  - Curtis Schiewek
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-18 00:00:00 -04:00
18
+ date: 2010-08-01 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -24,13 +24,14 @@ dependencies:
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ">"
28
28
  - !ruby/object:Gem::Version
29
+ hash: 31
29
30
  segments:
30
31
  - 1
31
- - 1
32
- - rc2
33
- version: 1.1.rc2
32
+ - 0
33
+ - 4
34
+ version: 1.0.4
34
35
  type: :runtime
35
36
  version_requirements: *id001
36
37
  - !ruby/object:Gem::Dependency
@@ -39,25 +40,32 @@ dependencies:
39
40
  requirement: &id002 !ruby/object:Gem::Requirement
40
41
  none: false
41
42
  requirements:
42
- - - ~>
43
+ - - ">="
43
44
  - !ruby/object:Gem::Version
45
+ hash: 31
44
46
  segments:
45
47
  - 0
46
- - 1
47
- - 1
48
- version: 0.1.1
48
+ - 0
49
+ - 0
50
+ version: 0.0.0
49
51
  type: :runtime
50
52
  version_requirements: *id002
51
- description: LDAP Authentication for Devise
52
- email:
53
- - dpmcnevin@gmail.com
53
+ description: LDAP authentication module for Devise
54
+ email: curtis.schiewek@gmail.com
54
55
  executables: []
55
56
 
56
57
  extensions: []
57
58
 
58
- extra_rdoc_files: []
59
-
59
+ extra_rdoc_files:
60
+ - README.md
60
61
  files:
62
+ - .gitignore
63
+ - MIT-LICENSE
64
+ - README.md
65
+ - Rakefile
66
+ - VERSION
67
+ - devise_ldap_authenticatable.gemspec
68
+ - lib/devise_ldap_authenticatable.rb
61
69
  - lib/devise_ldap_authenticatable/exception.rb
62
70
  - lib/devise_ldap_authenticatable/ldap_adapter.rb
63
71
  - lib/devise_ldap_authenticatable/logger.rb
@@ -66,17 +74,84 @@ files:
66
74
  - lib/devise_ldap_authenticatable/schema.rb
67
75
  - lib/devise_ldap_authenticatable/strategy.rb
68
76
  - lib/devise_ldap_authenticatable/version.rb
69
- - lib/devise_ldap_authenticatable.rb
70
77
  - lib/generators/devise_ldap_authenticatable/install_generator.rb
71
78
  - lib/generators/devise_ldap_authenticatable/templates/ldap.yml
72
- - README.md
79
+ - rails/init.rb
80
+ - test/devise_ldap_authenticatable_test.rb
81
+ - test/ldap/base.ldif
82
+ - test/ldap/clear.ldif
83
+ - test/ldap/local.schema
84
+ - test/ldap/run-server.sh
85
+ - test/ldap/slapd-test.conf
86
+ - test/rails_app/Gemfile
87
+ - test/rails_app/Rakefile
88
+ - test/rails_app/app/controllers/application_controller.rb
89
+ - test/rails_app/app/controllers/posts_controller.rb
90
+ - test/rails_app/app/helpers/application_helper.rb
91
+ - test/rails_app/app/helpers/posts_helper.rb
92
+ - test/rails_app/app/models/post.rb
93
+ - test/rails_app/app/models/user.rb
94
+ - test/rails_app/app/views/layouts/application.html.erb
95
+ - test/rails_app/app/views/posts/index.html.erb
96
+ - test/rails_app/config.ru
97
+ - test/rails_app/config/application.rb
98
+ - test/rails_app/config/boot.rb
99
+ - test/rails_app/config/cucumber.yml
100
+ - test/rails_app/config/database.yml
101
+ - test/rails_app/config/environment.rb
102
+ - test/rails_app/config/environments/development.rb
103
+ - test/rails_app/config/environments/production.rb
104
+ - test/rails_app/config/environments/test.rb
105
+ - test/rails_app/config/initializers/backtrace_silencers.rb
106
+ - test/rails_app/config/initializers/devise.rb
107
+ - test/rails_app/config/initializers/inflections.rb
108
+ - test/rails_app/config/initializers/mime_types.rb
109
+ - test/rails_app/config/initializers/secret_token.rb
110
+ - test/rails_app/config/initializers/session_store.rb
111
+ - test/rails_app/config/ldap.yml
112
+ - test/rails_app/config/ldap_with_uid.yml
113
+ - test/rails_app/config/locales/devise.en.yml
114
+ - test/rails_app/config/locales/en.yml
115
+ - test/rails_app/config/routes.rb
116
+ - test/rails_app/db/migrate/20100708120302_create_posts.rb
117
+ - test/rails_app/db/migrate/20100708120448_devise_create_users.rb
118
+ - test/rails_app/db/schema.rb
119
+ - test/rails_app/db/seeds.rb
120
+ - test/rails_app/features/manage_logins.feature
121
+ - test/rails_app/features/step_definitions/login_steps.rb
122
+ - test/rails_app/features/step_definitions/web_steps.rb
123
+ - test/rails_app/features/support/env.rb
124
+ - test/rails_app/features/support/paths.rb
125
+ - test/rails_app/lib/tasks/.gitkeep
126
+ - test/rails_app/lib/tasks/cucumber.rake
127
+ - test/rails_app/public/404.html
128
+ - test/rails_app/public/422.html
129
+ - test/rails_app/public/500.html
130
+ - test/rails_app/public/images/rails.png
131
+ - test/rails_app/public/javascripts/application.js
132
+ - test/rails_app/public/javascripts/controls.js
133
+ - test/rails_app/public/javascripts/dragdrop.js
134
+ - test/rails_app/public/javascripts/effects.js
135
+ - test/rails_app/public/javascripts/prototype.js
136
+ - test/rails_app/public/javascripts/rails.js
137
+ - test/rails_app/public/stylesheets/.gitkeep
138
+ - test/rails_app/script/cucumber
139
+ - test/rails_app/script/rails
140
+ - test/rails_app/test/factories/users.rb
141
+ - test/rails_app/test/functional/posts_controller_test.rb
142
+ - test/rails_app/test/performance/browsing_test.rb
143
+ - test/rails_app/test/test_helper.rb
144
+ - test/rails_app/test/unit/helpers/posts_helper_test.rb
145
+ - test/rails_app/test/unit/post_test.rb
146
+ - test/rails_app/test/unit/user_test.rb
147
+ - test/test_helper.rb
73
148
  has_rdoc: true
74
- homepage: http://github.com/cschiewek/devise_ldap_authenticatable/tree/rails3
149
+ homepage: http://github.com/cschiewek/devise_ldap_authenticatable
75
150
  licenses: []
76
151
 
77
152
  post_install_message:
78
- rdoc_options: []
79
-
153
+ rdoc_options:
154
+ - --charset=UTF-8
80
155
  require_paths:
81
156
  - lib
82
157
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -84,6 +159,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
159
  requirements:
85
160
  - - ">="
86
161
  - !ruby/object:Gem::Version
162
+ hash: 3
87
163
  segments:
88
164
  - 0
89
165
  version: "0"
@@ -92,17 +168,51 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
168
  requirements:
93
169
  - - ">="
94
170
  - !ruby/object:Gem::Version
171
+ hash: 3
95
172
  segments:
96
- - 1
97
- - 3
98
- - 6
99
- version: 1.3.6
173
+ - 0
174
+ version: "0"
100
175
  requirements: []
101
176
 
102
- rubyforge_project: devise_ldap_authenticatable
177
+ rubyforge_project:
103
178
  rubygems_version: 1.3.7
104
179
  signing_key:
105
180
  specification_version: 3
106
- summary: LDAP Authentication for Devise
107
- test_files: []
108
-
181
+ summary: LDAP authentication module for Devise
182
+ test_files:
183
+ - test/devise_ldap_authenticatable_test.rb
184
+ - test/rails_app/app/controllers/application_controller.rb
185
+ - test/rails_app/app/controllers/posts_controller.rb
186
+ - test/rails_app/app/helpers/application_helper.rb
187
+ - test/rails_app/app/helpers/posts_helper.rb
188
+ - test/rails_app/app/models/post.rb
189
+ - test/rails_app/app/models/user.rb
190
+ - test/rails_app/config/application.rb
191
+ - test/rails_app/config/boot.rb
192
+ - test/rails_app/config/environment.rb
193
+ - test/rails_app/config/environments/development.rb
194
+ - test/rails_app/config/environments/production.rb
195
+ - test/rails_app/config/environments/test.rb
196
+ - test/rails_app/config/initializers/backtrace_silencers.rb
197
+ - test/rails_app/config/initializers/devise.rb
198
+ - test/rails_app/config/initializers/inflections.rb
199
+ - test/rails_app/config/initializers/mime_types.rb
200
+ - test/rails_app/config/initializers/secret_token.rb
201
+ - test/rails_app/config/initializers/session_store.rb
202
+ - test/rails_app/config/routes.rb
203
+ - test/rails_app/db/migrate/20100708120302_create_posts.rb
204
+ - test/rails_app/db/migrate/20100708120448_devise_create_users.rb
205
+ - test/rails_app/db/schema.rb
206
+ - test/rails_app/db/seeds.rb
207
+ - test/rails_app/features/step_definitions/login_steps.rb
208
+ - test/rails_app/features/step_definitions/web_steps.rb
209
+ - test/rails_app/features/support/env.rb
210
+ - test/rails_app/features/support/paths.rb
211
+ - test/rails_app/test/factories/users.rb
212
+ - test/rails_app/test/functional/posts_controller_test.rb
213
+ - test/rails_app/test/performance/browsing_test.rb
214
+ - test/rails_app/test/test_helper.rb
215
+ - test/rails_app/test/unit/helpers/posts_helper_test.rb
216
+ - test/rails_app/test/unit/post_test.rb
217
+ - test/rails_app/test/unit/user_test.rb
218
+ - test/test_helper.rb