shibbolite 0.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/README.rdoc +9 -11
  3. data/app/concerns/shibbolite/filters.rb +26 -8
  4. data/app/concerns/shibbolite/helpers.rb +6 -0
  5. data/app/controllers/shibbolite/shibboleth_controller.rb +11 -1
  6. data/lib/shibbolite/version.rb +1 -1
  7. data/spec/controllers/filters_test_controller_spec.rb +62 -3
  8. data/spec/controllers/helpers_test_controller_spec.rb +29 -12
  9. data/spec/dummy/app/controllers/filters_test_controller.rb +10 -0
  10. data/spec/dummy/app/controllers/helpers_test_controller.rb +5 -0
  11. data/spec/dummy/app/views/static/home.html.erb +3 -1
  12. data/spec/dummy/config/environments/test.rb +1 -1
  13. data/spec/dummy/db/test.sqlite3 +0 -0
  14. data/spec/dummy/log/development.log +727 -0
  15. data/spec/dummy/log/test.log +24242 -0
  16. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  17. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  18. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  19. data/spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  20. data/spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
  21. data/spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  22. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  23. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  24. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  25. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  26. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  27. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  28. data/spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  29. data/spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  30. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  31. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  32. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  33. data/spec/dummy/tmp/restart.txt +0 -0
  34. data/spec/spec_helper.rb +1 -0
  35. data/spec/support/controllers/shared_access_control_examples.rb +63 -0
  36. data/spec/support/controllers/shared_auth_helpers.rb +25 -0
  37. data/spec/support/features/session_helpers.rb +12 -0
  38. metadata +102 -110
File without changes
data/spec/spec_helper.rb CHANGED
@@ -16,6 +16,7 @@ RSpec.configure do |config|
16
16
  config.use_transactional_fixtures = true
17
17
  config.infer_base_class_for_anonymous_controllers = false
18
18
  config.order = "random"
19
+ config.infer_spec_type_from_file_location!
19
20
 
20
21
  config.before(:suite) do
21
22
  DatabaseCleaner.strategy = :transaction
@@ -0,0 +1,63 @@
1
+ module Controllers
2
+
3
+ # use with require_group filter
4
+ shared_examples 'action requires groups' do |groups, verb, action, options = {}|
5
+
6
+ describe "require_group for: #{verb.upcase} ##{action}" do
7
+ include_context 'ac_setup', action
8
+
9
+ include_examples 'access control blocks action', verb, action, options
10
+
11
+ Array(groups).each do |group|
12
+ it "executes the action when the user is in group '#{group.to_s}'" do
13
+ log_in_as({umbcusername: 'test_user', group: group.to_s})
14
+ send(verb, action, options)
15
+ expect(controller).to have_received(action)
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ # use with require_attribute filter, checks for shibboleth
22
+ # set attributes
23
+ shared_examples 'action requires attribute' do |attr, attr_value, verb, action, options = {}|
24
+
25
+ describe "require_attribute for: #{verb.upcase} ##{action}" do
26
+ include_context 'ac_setup', action
27
+
28
+ include_examples 'access control blocks action', verb, action, options
29
+
30
+ it "executes action when user has attribute :#{attr} => '#{attr_value}'" do
31
+ log_in_as({umbcusername: 'test_user', group: nil})
32
+ set_env_attribute(attr, attr_value)
33
+ send(verb, action, options)
34
+ expect(controller).to have_received(action)
35
+ end
36
+ end
37
+ end
38
+
39
+ # use with require_group_or_attribute filter, which checks
40
+ # for shibboleth set attributes in request.env, as well
41
+ # as any groups assigned to current_user
42
+ shared_examples 'action requires groups or attribute' do |groups, attr, attr_value, verb, action, options = {}|
43
+ include_examples 'action requires attribute', attr, attr_value, verb, action, options
44
+ include_examples 'action requires groups', groups, verb, action, options
45
+ end
46
+
47
+ # used to DRY other example groups
48
+ shared_examples 'access control blocks action' do |verb, action, options = {}|
49
+ it 'does not execute the action when current user is not authorized' do
50
+ log_in_as({umbcusername: 'unauthorized', group: nil})
51
+ send(verb, action, options)
52
+ expect(controller).not_to have_received(action)
53
+ end
54
+ end
55
+
56
+ shared_context 'ac_setup' do |action|
57
+ before do
58
+ allow(controller).to receive(action)
59
+ # prevents 'missing template' errors
60
+ allow(controller).to receive(:render)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,25 @@
1
+ module Controllers
2
+ shared_context 'auth_helpers' do
3
+
4
+ # lets current_user return the specified attributes for simulating
5
+ # authentication methods for shibbolite
6
+ def log_in_as (options = {umbcusername: 'current_user'})
7
+ @c_user = FactoryGirl.build(:user, options)
8
+ User.stub(:find_user) { @c_user }
9
+ session[:umbcusername] = options[:umbcusername]
10
+ end
11
+
12
+ # sets a specific attribute in
13
+ # request.env for the current user
14
+ def set_env_attribute(attr, value)
15
+ request.env[attr.to_s] = value
16
+ end
17
+
18
+ def logout
19
+ session.delete(:umbcusername)
20
+ @c_user = nil
21
+ @current_user = nil
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,12 @@
1
+ module Features
2
+ module SessionHelpers
3
+
4
+ # hacked login, but the alternative is
5
+ # not having integration tests when
6
+ # using a Shibboleth based auth
7
+ def sign_in_as(group)
8
+ FactoryGirl.create(:user, umbcusername: 'test_user', group: group)
9
+ page.driver.browser.process_and_follow_redirects(:get, '/shibbolite/login', {}, {'umbcusername' => 'test_user'})
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,128 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shibbolite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Bassett
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-15 00:00:00.000000000 Z
11
+ date: 2015-03-31 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: '4.0'
19
+ version: '4'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '4.0'
26
+ version: '4'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: sqlite3
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
33
  version: '1.3'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
40
  version: '1.3'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec-rails
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '2.14'
47
+ version: '3.2'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
- version: '2.14'
54
+ version: '3.2'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: factory_girl_rails
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
- version: '4.4'
61
+ version: '4.5'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
- version: '4.4'
68
+ version: '4.5'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: guard-rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ~>
73
+ - - "~>"
84
74
  - !ruby/object:Gem::Version
85
- version: '4.2'
75
+ version: '4.5'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ~>
80
+ - - "~>"
92
81
  - !ruby/object:Gem::Version
93
- version: '4.2'
82
+ version: '4.5'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: fuubar
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ~>
87
+ - - "~>"
100
88
  - !ruby/object:Gem::Version
101
- version: '1.3'
89
+ version: '2.0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ~>
94
+ - - "~>"
108
95
  - !ruby/object:Gem::Version
109
- version: '1.3'
96
+ version: '2.0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: database_cleaner
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ~>
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: '1.2'
103
+ version: '1.4'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ~>
108
+ - - "~>"
124
109
  - !ruby/object:Gem::Version
125
- version: '1.2'
110
+ version: '1.4'
126
111
  description: Simple access control for Shibboleth/Rails environments
127
112
  email:
128
113
  - dabassett.github@gmail.com
@@ -130,119 +115,122 @@ executables: []
130
115
  extensions: []
131
116
  extra_rdoc_files: []
132
117
  files:
133
- - app/concerns/shibbolite/user.rb
118
+ - MIT-LICENSE
119
+ - README.rdoc
120
+ - Rakefile
134
121
  - app/concerns/shibbolite/filters.rb
135
122
  - app/concerns/shibbolite/helpers.rb
123
+ - app/concerns/shibbolite/user.rb
136
124
  - app/controllers/shibbolite/shibboleth_controller.rb
137
125
  - app/views/layouts/shibbolite/shibboleth.html.erb
138
- - app/views/shibbolite/shibboleth/logout_message.html.erb
139
126
  - app/views/shibbolite/shibboleth/access_denied.html.erb
127
+ - app/views/shibbolite/shibboleth/logout_message.html.erb
140
128
  - config/routes.rb
141
- - lib/generators/shibbolite/migration_generator.rb
142
129
  - lib/generators/shibbolite/install_generator.rb
130
+ - lib/generators/shibbolite/migration_generator.rb
143
131
  - lib/generators/templates/shibbolite_config.rb
144
132
  - lib/shibbolite.rb
145
- - lib/shibbolite/version.rb
146
133
  - lib/shibbolite/engine.rb
147
- - MIT-LICENSE
148
- - Rakefile
149
- - README.rdoc
150
- - spec/dummy/log/development.log
151
- - spec/dummy/log/test.log
152
- - spec/dummy/config/initializers/wrap_parameters.rb
153
- - spec/dummy/config/initializers/shibbolite_config.rb
154
- - spec/dummy/config/initializers/session_store.rb
155
- - spec/dummy/config/initializers/secret_token.rb
156
- - spec/dummy/config/initializers/filter_parameter_logging.rb
157
- - spec/dummy/config/environment.rb
158
- - spec/dummy/config/boot.rb
159
- - spec/dummy/config/database.yml
160
- - spec/dummy/config/routes.rb
161
- - spec/dummy/config/application.rb
162
- - spec/dummy/config/environments/development.rb
163
- - spec/dummy/config/environments/production.rb
164
- - spec/dummy/config/environments/test.rb
134
+ - lib/shibbolite/version.rb
135
+ - spec/controllers/filters_test_controller_spec.rb
136
+ - spec/controllers/helpers_test_controller_spec.rb
137
+ - spec/controllers/shibbolite/shibboleth_controller_spec.rb
138
+ - spec/controllers/static_controller_spec.rb
165
139
  - spec/dummy/Rakefile
166
- - spec/dummy/bin/bundle
167
- - spec/dummy/bin/rails
168
- - spec/dummy/bin/rake
169
- - spec/dummy/config.ru
140
+ - spec/dummy/app/assets/javascripts/application.js
141
+ - spec/dummy/app/assets/stylesheets/application.css
142
+ - spec/dummy/app/assets/stylesheets/scaffold.css
170
143
  - spec/dummy/app/controllers/application_controller.rb
171
144
  - spec/dummy/app/controllers/filters_test_controller.rb
172
- - spec/dummy/app/controllers/static_controller.rb
173
145
  - spec/dummy/app/controllers/helpers_test_controller.rb
174
- - spec/dummy/app/views/layouts/application.html.erb
146
+ - spec/dummy/app/controllers/static_controller.rb
147
+ - spec/dummy/app/models/user.rb
148
+ - spec/dummy/app/views/filters_test/dummy.html.erb
175
149
  - spec/dummy/app/views/helpers_test/dummy.html.erb
176
- - spec/dummy/app/views/static/user_resource.html.erb
150
+ - spec/dummy/app/views/layouts/application.html.erb
177
151
  - spec/dummy/app/views/static/admin_resource.html.erb
178
152
  - spec/dummy/app/views/static/home.html.erb
179
- - spec/dummy/app/views/filters_test/dummy.html.erb
180
- - spec/dummy/app/models/user.rb
181
- - spec/dummy/app/assets/javascripts/application.js
182
- - spec/dummy/app/assets/stylesheets/scaffold.css
183
- - spec/dummy/app/assets/stylesheets/application.css
184
- - spec/dummy/public/500.html
185
- - spec/dummy/public/404.html
186
- - spec/dummy/public/favicon.ico
187
- - spec/dummy/public/422.html
188
- - spec/dummy/db/migrate/20140414172304_add_shibboleth_attributes_to_users.rb
153
+ - spec/dummy/app/views/static/user_resource.html.erb
154
+ - spec/dummy/bin/bundle
155
+ - spec/dummy/bin/rails
156
+ - spec/dummy/bin/rake
157
+ - spec/dummy/config.ru
158
+ - spec/dummy/config/application.rb
159
+ - spec/dummy/config/boot.rb
160
+ - spec/dummy/config/database.yml
161
+ - spec/dummy/config/environment.rb
162
+ - spec/dummy/config/environments/development.rb
163
+ - spec/dummy/config/environments/production.rb
164
+ - spec/dummy/config/environments/test.rb
165
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
166
+ - spec/dummy/config/initializers/secret_token.rb
167
+ - spec/dummy/config/initializers/session_store.rb
168
+ - spec/dummy/config/initializers/shibbolite_config.rb
169
+ - spec/dummy/config/initializers/wrap_parameters.rb
170
+ - spec/dummy/config/routes.rb
171
+ - spec/dummy/db/development.sqlite3
189
172
  - spec/dummy/db/migrate/20140404162119_create_users.rb
173
+ - spec/dummy/db/migrate/20140414172304_add_shibboleth_attributes_to_users.rb
190
174
  - spec/dummy/db/schema.rb
191
175
  - spec/dummy/db/test.sqlite3
192
- - spec/dummy/db/development.sqlite3
193
- - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
194
- - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
195
- - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
196
- - spec/dummy/tmp/cache/assets/development/sprockets/35634bbec2c7419d3efa1a72c23db7e0
197
- - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
198
- - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
176
+ - spec/dummy/log/development.log
177
+ - spec/dummy/log/test.log
178
+ - spec/dummy/public/404.html
179
+ - spec/dummy/public/422.html
180
+ - spec/dummy/public/500.html
181
+ - spec/dummy/public/favicon.ico
199
182
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
200
- - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
201
- - spec/dummy/tmp/cache/assets/development/sprockets/368329c663775348c7db5500ff959f80
202
183
  - spec/dummy/tmp/cache/assets/development/sprockets/1be2f6345400afa38cfd6c919f2cf297
203
- - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
204
- - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
205
184
  - spec/dummy/tmp/cache/assets/development/sprockets/27c12eb9977c123bfb2ef83640964c02
185
+ - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
186
+ - spec/dummy/tmp/cache/assets/development/sprockets/35634bbec2c7419d3efa1a72c23db7e0
187
+ - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
188
+ - spec/dummy/tmp/cache/assets/development/sprockets/368329c663775348c7db5500ff959f80
189
+ - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
190
+ - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
191
+ - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
206
192
  - spec/dummy/tmp/cache/assets/development/sprockets/83de9c3d672e9a3420dd8a36aaaab517
207
- - spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
208
- - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
209
- - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
210
- - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
193
+ - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
194
+ - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
195
+ - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
211
196
  - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
212
- - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
213
197
  - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
198
+ - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
199
+ - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
200
+ - spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
201
+ - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
202
+ - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
214
203
  - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
215
- - spec/controllers/filters_test_controller_spec.rb
216
- - spec/controllers/helpers_test_controller_spec.rb
217
- - spec/controllers/static_controller_spec.rb
218
- - spec/controllers/shibbolite/shibboleth_controller_spec.rb
219
- - spec/factories/users.rb
204
+ - spec/dummy/tmp/restart.txt
220
205
  - spec/factories/shibboleth_attributes.rb
206
+ - spec/factories/users.rb
221
207
  - spec/models/user_spec.rb
222
208
  - spec/spec_helper.rb
209
+ - spec/support/controllers/shared_access_control_examples.rb
210
+ - spec/support/controllers/shared_auth_helpers.rb
211
+ - spec/support/features/session_helpers.rb
223
212
  homepage: https://github.com/dabassett/shibbolite
224
213
  licenses: []
214
+ metadata: {}
225
215
  post_install_message:
226
216
  rdoc_options: []
227
217
  require_paths:
228
218
  - lib
229
219
  required_ruby_version: !ruby/object:Gem::Requirement
230
- none: false
231
220
  requirements:
232
- - - ! '>='
221
+ - - ">="
233
222
  - !ruby/object:Gem::Version
234
- version: 1.9.3
223
+ version: 2.1.2
235
224
  required_rubygems_version: !ruby/object:Gem::Requirement
236
- none: false
237
225
  requirements:
238
- - - ! '>='
226
+ - - ">="
239
227
  - !ruby/object:Gem::Version
240
228
  version: '0'
241
229
  requirements: []
242
230
  rubyforge_project:
243
- rubygems_version: 1.8.25
231
+ rubygems_version: 2.2.2
244
232
  signing_key:
245
- specification_version: 3
233
+ specification_version: 4
246
234
  summary: Simple access control for Shibboleth/Rails environments
247
235
  test_files:
248
236
  - spec/dummy/log/development.log
@@ -310,6 +298,7 @@ test_files:
310
298
  - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
311
299
  - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
312
300
  - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
301
+ - spec/dummy/tmp/restart.txt
313
302
  - spec/controllers/filters_test_controller_spec.rb
314
303
  - spec/controllers/helpers_test_controller_spec.rb
315
304
  - spec/controllers/static_controller_spec.rb
@@ -318,3 +307,6 @@ test_files:
318
307
  - spec/factories/shibboleth_attributes.rb
319
308
  - spec/models/user_spec.rb
320
309
  - spec/spec_helper.rb
310
+ - spec/support/features/session_helpers.rb
311
+ - spec/support/controllers/shared_auth_helpers.rb
312
+ - spec/support/controllers/shared_access_control_examples.rb