rails-doorman 0.1.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/LICENSE +21 -0
  2. data/README.rdoc +94 -0
  3. data/Rakefile +89 -0
  4. data/features/doorman.feature +99 -0
  5. data/features/step_definitions/common_steps.rb +25 -0
  6. data/features/step_definitions/webrat_steps.rb +115 -0
  7. data/features/support/authorized_matcher.rb +29 -0
  8. data/features/support/env.rb +16 -0
  9. data/features/support/paths.rb +19 -0
  10. data/features/support/unauthorized_matcher.rb +29 -0
  11. data/lib/doorman.rb +111 -0
  12. data/lib/doorman/helpers.rb +17 -0
  13. data/lib/doorman/rule.rb +59 -0
  14. data/rails/init.rb +1 -0
  15. data/spec/fixtures/app/README +243 -0
  16. data/spec/fixtures/app/Rakefile +10 -0
  17. data/spec/fixtures/app/app/controllers/access_control_by_host_controller.rb +5 -0
  18. data/spec/fixtures/app/app/controllers/access_control_by_user_agent_controller.rb +4 -0
  19. data/spec/fixtures/app/app/controllers/allow_all_by_default_controller.rb +2 -0
  20. data/spec/fixtures/app/app/controllers/allowed_and_denied_roles_controller.rb +4 -0
  21. data/spec/fixtures/app/app/controllers/allowed_and_denied_users_controller.rb +4 -0
  22. data/spec/fixtures/app/app/controllers/allowed_role_controller.rb +3 -0
  23. data/spec/fixtures/app/app/controllers/allowed_role_with_only_controller.rb +3 -0
  24. data/spec/fixtures/app/app/controllers/allowed_user_controller.rb +3 -0
  25. data/spec/fixtures/app/app/controllers/application_controller.rb +37 -0
  26. data/spec/fixtures/app/app/controllers/denied_role_controller.rb +3 -0
  27. data/spec/fixtures/app/app/controllers/denied_user_controller.rb +4 -0
  28. data/spec/fixtures/app/app/controllers/deny_all_controller.rb +3 -0
  29. data/spec/fixtures/app/app/controllers/explicitly_allow_all_controller.rb +3 -0
  30. data/spec/fixtures/app/app/controllers/test_controller.rb +4 -0
  31. data/spec/fixtures/app/app/controllers/view_helpers_controller.rb +4 -0
  32. data/spec/fixtures/app/app/helpers/application_helper.rb +3 -0
  33. data/spec/fixtures/app/app/models/user.rb +7 -0
  34. data/spec/fixtures/app/app/views/layouts/application.html.erb +8 -0
  35. data/spec/fixtures/app/app/views/view_helpers/allow_via_role.html.erb +3 -0
  36. data/spec/fixtures/app/app/views/view_helpers/deny_via_role.html.erb +3 -0
  37. data/spec/fixtures/app/config/boot.rb +110 -0
  38. data/spec/fixtures/app/config/environment.rb +41 -0
  39. data/spec/fixtures/app/config/environments/development.rb +0 -0
  40. data/spec/fixtures/app/config/environments/production.rb +0 -0
  41. data/spec/fixtures/app/config/environments/test.rb +31 -0
  42. data/spec/fixtures/app/config/initializers/backtrace_silencers.rb +7 -0
  43. data/spec/fixtures/app/config/initializers/inflections.rb +10 -0
  44. data/spec/fixtures/app/config/initializers/mime_types.rb +5 -0
  45. data/spec/fixtures/app/config/initializers/new_rails_defaults.rb +19 -0
  46. data/spec/fixtures/app/config/initializers/session_store.rb +15 -0
  47. data/spec/fixtures/app/config/locales/en.yml +5 -0
  48. data/spec/fixtures/app/config/routes.rb +43 -0
  49. data/spec/fixtures/app/db/foo.txt +0 -0
  50. data/spec/fixtures/app/doc/README_FOR_APP +2 -0
  51. data/spec/fixtures/app/log/test.log +11988 -0
  52. data/spec/fixtures/app/public/404.html +30 -0
  53. data/spec/fixtures/app/public/422.html +30 -0
  54. data/spec/fixtures/app/public/500.html +30 -0
  55. data/spec/fixtures/app/public/favicon.ico +0 -0
  56. data/spec/fixtures/app/public/images/rails.png +0 -0
  57. data/spec/fixtures/app/public/javascripts/application.js +2 -0
  58. data/spec/fixtures/app/public/javascripts/controls.js +963 -0
  59. data/spec/fixtures/app/public/javascripts/dragdrop.js +973 -0
  60. data/spec/fixtures/app/public/javascripts/effects.js +1128 -0
  61. data/spec/fixtures/app/public/javascripts/prototype.js +4320 -0
  62. data/spec/fixtures/app/public/robots.txt +5 -0
  63. data/spec/fixtures/app/script/about +4 -0
  64. data/spec/fixtures/app/script/console +3 -0
  65. data/spec/fixtures/app/script/dbconsole +3 -0
  66. data/spec/fixtures/app/script/destroy +3 -0
  67. data/spec/fixtures/app/script/generate +3 -0
  68. data/spec/fixtures/app/script/performance/benchmarker +3 -0
  69. data/spec/fixtures/app/script/performance/profiler +3 -0
  70. data/spec/fixtures/app/script/plugin +3 -0
  71. data/spec/fixtures/app/script/runner +3 -0
  72. data/spec/fixtures/app/script/server +3 -0
  73. data/spec/fixtures/app/test/performance/browsing_test.rb +9 -0
  74. data/spec/fixtures/app/test/test_helper.rb +38 -0
  75. data/spec/fixtures/app/vendor/plugins/doorman/init.rb +1 -0
  76. data/spec/rails_doorman/class_methods_spec.rb +49 -0
  77. data/spec/rails_doorman/rule_spec.rb +120 -0
  78. data/spec/spec_helper.rb +15 -0
  79. metadata +225 -0
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ $LOAD_PATH.unshift "#{RAILTIES_PATH}/builtin/rails_info"
4
+ require 'commands/about'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/console'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/dbconsole'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/destroy'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/generate'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/benchmarker'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/profiler'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/plugin'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/runner'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/server'
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+ require 'performance_test_help'
3
+
4
+ # Profiling results for each test method are written to tmp/performance.
5
+ class BrowsingTest < ActionController::PerformanceTest
6
+ def test_homepage
7
+ get '/'
8
+ end
9
+ end
@@ -0,0 +1,38 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3
+ require 'test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+ # Transactional fixtures accelerate your tests by wrapping each test method
7
+ # in a transaction that's rolled back on completion. This ensures that the
8
+ # test database remains unchanged so your fixtures don't have to be reloaded
9
+ # between every test method. Fewer database queries means faster tests.
10
+ #
11
+ # Read Mike Clark's excellent walkthrough at
12
+ # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
13
+ #
14
+ # Every Active Record database supports transactions except MyISAM tables
15
+ # in MySQL. Turn off transactional fixtures in this case; however, if you
16
+ # don't care one way or the other, switching from MyISAM to InnoDB tables
17
+ # is recommended.
18
+ #
19
+ # The only drawback to using transactional fixtures is when you actually
20
+ # need to test transactions. Since your test is bracketed by a transaction,
21
+ # any transactions started in your code will be automatically rolled back.
22
+ self.use_transactional_fixtures = true
23
+
24
+ # Instantiated fixtures are slow, but give you @david where otherwise you
25
+ # would need people(:david). If you don't want to migrate your existing
26
+ # test cases which use the @david style and don't mind the speed hit (each
27
+ # instantiated fixtures translates to a database query per test method),
28
+ # then set this back to true.
29
+ self.use_instantiated_fixtures = false
30
+
31
+ # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
32
+ #
33
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
34
+ # -- they do not yet inherit this setting
35
+ fixtures :all
36
+
37
+ # Add more helper methods to be used by all tests here...
38
+ end
@@ -0,0 +1 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../../../rails/init.rb')
@@ -0,0 +1,49 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ module Doorman
4
+ describe ClassMethods do
5
+ include ClassMethods
6
+
7
+ before(:each) do
8
+ _clear_acl_list
9
+ end
10
+
11
+ it "should store the ACL" do
12
+ _doorman_list.should be_an_instance_of(Array)
13
+ end
14
+
15
+ it "should have a deny method" do
16
+ lambda { deny :all }.should_not raise_error
17
+ end
18
+
19
+ it "should store a deny entry on the ACL" do
20
+ s = _doorman_list.size
21
+ deny :host => "192.168.*"
22
+ _doorman_list.should have(s + 1).elements
23
+ end
24
+
25
+ it "should have an allow method" do
26
+ lambda { allow :all }.should_not raise_error
27
+ end
28
+
29
+ it "should store an allow entry on the ACL" do
30
+ s = _doorman_list.size
31
+ allow :user_agent => /MSIE/
32
+ _doorman_list.should have(s + 1).elements
33
+ end
34
+
35
+ it "should allow valid ACL entries" do
36
+ lambda { deny :host => "192.168.*" }.should_not raise_error
37
+ lambda { deny :user => "bill" }.should_not raise_error
38
+ lambda { deny :user_agent => /MSIE/ }.should_not raise_error
39
+ # lambda { deny :time => "8am-5pm" }.should_not raise_error
40
+ lambda { deny {|c| c.foo } }.should_not raise_error
41
+ end
42
+
43
+ it "should reject invalid ACL entries" do
44
+ lambda { deny :foo => "3" }.should raise_error
45
+ lambda { deny { foo } }.should raise_error
46
+ end
47
+
48
+ end
49
+ end
@@ -0,0 +1,120 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ module Doorman
4
+
5
+ describe Rule do
6
+ describe '.from_hash' do
7
+ it "should set the method using the opts first key" do
8
+ rule = Rule.from_hash(:allow, :role => :whatever)
9
+ rule.method.should == :role
10
+ end
11
+
12
+ it "should set the value using the opts first value" do
13
+ rule = Rule.from_hash(:allow, :role => :whatever)
14
+ rule.value.should == :whatever
15
+ end
16
+
17
+ it "should move :only from options to limits" do
18
+ rule = Rule.from_hash(:allow, :role => :whatever, :only => :index)
19
+ rule.limits[:only].should_not be_nil
20
+ rule.limits[:role].should be_nil
21
+ end
22
+
23
+ it "should move :exclude from options to limits" do
24
+ rule = Rule.from_hash(:allow, :role => :whatever, :exclude => :index)
25
+ rule.limits[:exclude].should_not be_nil
26
+ rule.limits[:role].should be_nil
27
+ end
28
+
29
+ it "should convert a single :only value to an Array" do
30
+ rule = Rule.from_hash(:allow, :role => :admin, :only => :index)
31
+ rule.limits[:only].should == [:index]
32
+ end
33
+
34
+ it "should convert a single :exclude value to an Array" do
35
+ rule = Rule.from_hash(:allow, :role => :admin, :exclude => :index)
36
+ rule.limits[:exclude].should == [:index]
37
+ end
38
+
39
+ it "should raise an InvalidRule error when the options hash as too many values" do
40
+ lambda do
41
+ Rule.from_hash(:allow, :role => :admin, :user => :bob)
42
+ end.should raise_error(Doorman::InvalidRule)
43
+ end
44
+
45
+ it "should raise an InvalidRule error when the method isn't supported" do
46
+ lambda do
47
+ Rule.from_hash(:allow, :not_suppoted => :whatever)
48
+ end.should raise_error(Doorman::InvalidRule)
49
+ end
50
+ end
51
+
52
+ describe '.from_block' do
53
+ def block
54
+ proc {|ignored| true }
55
+ end
56
+
57
+ it "should set the method to :block" do
58
+ rule = Rule.from_block(:allow, &block)
59
+ rule.method.should == :block
60
+ end
61
+
62
+ it "should set the value to the block" do
63
+ rule = Rule.from_block(:allow, &block)
64
+ rule.value.should be_instance_of(Proc)
65
+ rule.value.call(:ignored).should be_true
66
+ end
67
+
68
+ it "should move :only from options to limits" do
69
+ rule = Rule.from_block(:allow, :only => :index, &block)
70
+ rule.limits[:only].should == [:index]
71
+ end
72
+
73
+ it "should move :exclude from options to limits" do
74
+ rule = Rule.from_block(:allow, :exclude => [:index, :show], &block)
75
+ rule.limits[:exclude].should == [:index, :show]
76
+ end
77
+
78
+ it "should convert a single :only value to an Array" do
79
+ rule = Rule.from_block(:allow, :exclude => :index, &block)
80
+ rule.limits[:exclude].should == [:index]
81
+ end
82
+
83
+ it "should raise an InvalidRule error when the blocks arity is not one" do
84
+ lambda do
85
+ Rule.from_block(:allow) {}
86
+ end.should raise_error(Doorman::InvalidRule)
87
+ end
88
+ end
89
+
90
+ [:allow, :deny].each do |type|
91
+ describe "with the type #{type}, #evaluate?" do
92
+ it "should be true when the :only list is empty" do
93
+ rule = Rule.from_hash(type, :role => :admin)
94
+ rule.evaluate?(:show).should be_true
95
+ end
96
+
97
+ it "should be true when the action is in the :only list" do
98
+ rule = Rule.from_hash(type, :role => :admin, :only => :show)
99
+ rule.evaluate?(:show).should be_true
100
+ end
101
+
102
+ it "should be false when the action is not in the :only list" do
103
+ rule = Rule.from_hash(type, :role => :admin, :only => [:index, :show])
104
+ rule.evaluate?(:create).should be_false
105
+ end
106
+
107
+ it "should be false when the action is in the :exclude list" do
108
+ rule = Rule.from_hash(type, :role => :admin, :exclude => [:index, :show])
109
+ rule.evaluate?(:show).should be_false
110
+ end
111
+
112
+ it "should be true when the action is not inthe :exclude list" do
113
+ rule = Rule.from_hash(type, :role => :admin, :exclude => [:index, :show])
114
+ rule.evaluate?(:create).should be_true
115
+ end
116
+ end
117
+ end
118
+ end
119
+
120
+ end
@@ -0,0 +1,15 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
2
+
3
+ ENV["RAILS_ENV"] ||= 'test'
4
+
5
+ unless defined?(RAILS_ROOT)
6
+ require File.dirname(__FILE__) + "/fixtures/app/config/environment"
7
+ end
8
+
9
+ require 'spec'
10
+ require 'spec/rails'
11
+
12
+ require 'doorman'
13
+
14
+ Spec::Runner.configure do |config|
15
+ end
metadata ADDED
@@ -0,0 +1,225 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-doorman
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy Burks
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-04 00:00:00 -06:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.2.9
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rspec-rails
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.2.9
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: cucumber
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: yard
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 0.4.0
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: grancher
67
+ type: :development
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">"
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ description: Ruby on Rails authorization plugin
76
+ email: jeremy.burks@gmail.com
77
+ executables: []
78
+
79
+ extensions: []
80
+
81
+ extra_rdoc_files:
82
+ - LICENSE
83
+ - README.rdoc
84
+ files:
85
+ - LICENSE
86
+ - README.rdoc
87
+ - Rakefile
88
+ - features/doorman.feature
89
+ - features/step_definitions/common_steps.rb
90
+ - features/step_definitions/webrat_steps.rb
91
+ - features/support/authorized_matcher.rb
92
+ - features/support/env.rb
93
+ - features/support/paths.rb
94
+ - features/support/unauthorized_matcher.rb
95
+ - lib/doorman.rb
96
+ - lib/doorman/helpers.rb
97
+ - lib/doorman/rule.rb
98
+ - rails/init.rb
99
+ - spec/fixtures/app/README
100
+ - spec/fixtures/app/Rakefile
101
+ - spec/fixtures/app/app/controllers/access_control_by_host_controller.rb
102
+ - spec/fixtures/app/app/controllers/access_control_by_user_agent_controller.rb
103
+ - spec/fixtures/app/app/controllers/allow_all_by_default_controller.rb
104
+ - spec/fixtures/app/app/controllers/allowed_and_denied_roles_controller.rb
105
+ - spec/fixtures/app/app/controllers/allowed_and_denied_users_controller.rb
106
+ - spec/fixtures/app/app/controllers/allowed_role_controller.rb
107
+ - spec/fixtures/app/app/controllers/allowed_role_with_only_controller.rb
108
+ - spec/fixtures/app/app/controllers/allowed_user_controller.rb
109
+ - spec/fixtures/app/app/controllers/application_controller.rb
110
+ - spec/fixtures/app/app/controllers/denied_role_controller.rb
111
+ - spec/fixtures/app/app/controllers/denied_user_controller.rb
112
+ - spec/fixtures/app/app/controllers/deny_all_controller.rb
113
+ - spec/fixtures/app/app/controllers/explicitly_allow_all_controller.rb
114
+ - spec/fixtures/app/app/controllers/test_controller.rb
115
+ - spec/fixtures/app/app/controllers/view_helpers_controller.rb
116
+ - spec/fixtures/app/app/helpers/application_helper.rb
117
+ - spec/fixtures/app/app/models/user.rb
118
+ - spec/fixtures/app/app/views/layouts/application.html.erb
119
+ - spec/fixtures/app/app/views/view_helpers/allow_via_role.html.erb
120
+ - spec/fixtures/app/app/views/view_helpers/deny_via_role.html.erb
121
+ - spec/fixtures/app/config/boot.rb
122
+ - spec/fixtures/app/config/environment.rb
123
+ - spec/fixtures/app/config/environments/development.rb
124
+ - spec/fixtures/app/config/environments/production.rb
125
+ - spec/fixtures/app/config/environments/test.rb
126
+ - spec/fixtures/app/config/initializers/backtrace_silencers.rb
127
+ - spec/fixtures/app/config/initializers/inflections.rb
128
+ - spec/fixtures/app/config/initializers/mime_types.rb
129
+ - spec/fixtures/app/config/initializers/new_rails_defaults.rb
130
+ - spec/fixtures/app/config/initializers/session_store.rb
131
+ - spec/fixtures/app/config/locales/en.yml
132
+ - spec/fixtures/app/config/routes.rb
133
+ - spec/fixtures/app/db/foo.txt
134
+ - spec/fixtures/app/doc/README_FOR_APP
135
+ - spec/fixtures/app/log/test.log
136
+ - spec/fixtures/app/public/404.html
137
+ - spec/fixtures/app/public/422.html
138
+ - spec/fixtures/app/public/500.html
139
+ - spec/fixtures/app/public/favicon.ico
140
+ - spec/fixtures/app/public/images/rails.png
141
+ - spec/fixtures/app/public/javascripts/application.js
142
+ - spec/fixtures/app/public/javascripts/controls.js
143
+ - spec/fixtures/app/public/javascripts/dragdrop.js
144
+ - spec/fixtures/app/public/javascripts/effects.js
145
+ - spec/fixtures/app/public/javascripts/prototype.js
146
+ - spec/fixtures/app/public/robots.txt
147
+ - spec/fixtures/app/script/about
148
+ - spec/fixtures/app/script/console
149
+ - spec/fixtures/app/script/dbconsole
150
+ - spec/fixtures/app/script/destroy
151
+ - spec/fixtures/app/script/generate
152
+ - spec/fixtures/app/script/performance/benchmarker
153
+ - spec/fixtures/app/script/performance/profiler
154
+ - spec/fixtures/app/script/plugin
155
+ - spec/fixtures/app/script/runner
156
+ - spec/fixtures/app/script/server
157
+ - spec/fixtures/app/test/performance/browsing_test.rb
158
+ - spec/fixtures/app/test/test_helper.rb
159
+ - spec/fixtures/app/vendor/plugins/doorman/init.rb
160
+ - spec/rails_doorman/class_methods_spec.rb
161
+ - spec/rails_doorman/rule_spec.rb
162
+ - spec/spec_helper.rb
163
+ has_rdoc: false
164
+ homepage: http://jrun.github.com/rails-doorman
165
+ licenses: []
166
+
167
+ post_install_message:
168
+ rdoc_options:
169
+ - --charset=UTF-8
170
+ require_paths:
171
+ - lib
172
+ required_ruby_version: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: "0"
177
+ version:
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: "0"
183
+ version:
184
+ requirements: []
185
+
186
+ rubyforge_project:
187
+ rubygems_version: 1.3.5
188
+ signing_key:
189
+ specification_version: 3
190
+ summary: Ruby on Rails authorization plugin
191
+ test_files:
192
+ - spec/fixtures/app/app/controllers/access_control_by_host_controller.rb
193
+ - spec/fixtures/app/app/controllers/access_control_by_user_agent_controller.rb
194
+ - spec/fixtures/app/app/controllers/allow_all_by_default_controller.rb
195
+ - spec/fixtures/app/app/controllers/allowed_and_denied_roles_controller.rb
196
+ - spec/fixtures/app/app/controllers/allowed_and_denied_users_controller.rb
197
+ - spec/fixtures/app/app/controllers/allowed_role_controller.rb
198
+ - spec/fixtures/app/app/controllers/allowed_role_with_only_controller.rb
199
+ - spec/fixtures/app/app/controllers/allowed_user_controller.rb
200
+ - spec/fixtures/app/app/controllers/application_controller.rb
201
+ - spec/fixtures/app/app/controllers/denied_role_controller.rb
202
+ - spec/fixtures/app/app/controllers/denied_user_controller.rb
203
+ - spec/fixtures/app/app/controllers/deny_all_controller.rb
204
+ - spec/fixtures/app/app/controllers/explicitly_allow_all_controller.rb
205
+ - spec/fixtures/app/app/controllers/test_controller.rb
206
+ - spec/fixtures/app/app/controllers/view_helpers_controller.rb
207
+ - spec/fixtures/app/app/helpers/application_helper.rb
208
+ - spec/fixtures/app/app/models/user.rb
209
+ - spec/fixtures/app/config/boot.rb
210
+ - spec/fixtures/app/config/environment.rb
211
+ - spec/fixtures/app/config/environments/development.rb
212
+ - spec/fixtures/app/config/environments/production.rb
213
+ - spec/fixtures/app/config/environments/test.rb
214
+ - spec/fixtures/app/config/initializers/backtrace_silencers.rb
215
+ - spec/fixtures/app/config/initializers/inflections.rb
216
+ - spec/fixtures/app/config/initializers/mime_types.rb
217
+ - spec/fixtures/app/config/initializers/new_rails_defaults.rb
218
+ - spec/fixtures/app/config/initializers/session_store.rb
219
+ - spec/fixtures/app/config/routes.rb
220
+ - spec/fixtures/app/test/performance/browsing_test.rb
221
+ - spec/fixtures/app/test/test_helper.rb
222
+ - spec/fixtures/app/vendor/plugins/doorman/init.rb
223
+ - spec/rails_doorman/class_methods_spec.rb
224
+ - spec/rails_doorman/rule_spec.rb
225
+ - spec/spec_helper.rb