rails-doorman 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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