jrun-rails_doorman 0.0.1

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 (78) hide show
  1. data/LICENSE +21 -0
  2. data/README.rdoc +88 -0
  3. data/Rakefile +57 -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 +13 -0
  9. data/features/support/paths.rb +19 -0
  10. data/features/support/unauthorized_matcher.rb +29 -0
  11. data/lib/rails_doorman/helpers.rb +17 -0
  12. data/lib/rails_doorman/rule.rb +59 -0
  13. data/lib/rails_doorman.rb +111 -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 +36 -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/public/404.html +30 -0
  52. data/spec/fixtures/app/public/422.html +30 -0
  53. data/spec/fixtures/app/public/500.html +30 -0
  54. data/spec/fixtures/app/public/favicon.ico +0 -0
  55. data/spec/fixtures/app/public/images/rails.png +0 -0
  56. data/spec/fixtures/app/public/javascripts/application.js +2 -0
  57. data/spec/fixtures/app/public/javascripts/controls.js +963 -0
  58. data/spec/fixtures/app/public/javascripts/dragdrop.js +973 -0
  59. data/spec/fixtures/app/public/javascripts/effects.js +1128 -0
  60. data/spec/fixtures/app/public/javascripts/prototype.js +4320 -0
  61. data/spec/fixtures/app/public/robots.txt +5 -0
  62. data/spec/fixtures/app/script/about +4 -0
  63. data/spec/fixtures/app/script/console +3 -0
  64. data/spec/fixtures/app/script/dbconsole +3 -0
  65. data/spec/fixtures/app/script/destroy +3 -0
  66. data/spec/fixtures/app/script/generate +3 -0
  67. data/spec/fixtures/app/script/performance/benchmarker +3 -0
  68. data/spec/fixtures/app/script/performance/profiler +3 -0
  69. data/spec/fixtures/app/script/plugin +3 -0
  70. data/spec/fixtures/app/script/runner +3 -0
  71. data/spec/fixtures/app/script/server +3 -0
  72. data/spec/fixtures/app/test/performance/browsing_test.rb +9 -0
  73. data/spec/fixtures/app/test/test_helper.rb +38 -0
  74. data/spec/fixtures/app/vendor/plugins/doorman/init.rb +1 -0
  75. data/spec/rails_doorman/class_methods_spec.rb +49 -0
  76. data/spec/rails_doorman/rule_spec.rb +120 -0
  77. data/spec/spec_helper.rb +15 -0
  78. metadata +176 -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 'rails_doorman'
13
+
14
+ Spec::Runner.configure do |config|
15
+ end
metadata ADDED
@@ -0,0 +1,176 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jrun-rails_doorman
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy Burks
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-25 00:00:00 -07: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
+ description: Rails plugin that provides an allow/deny DSL for controlling access
26
+ email: jeremy.burks@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files: []
32
+
33
+ files:
34
+ - LICENSE
35
+ - README.rdoc
36
+ - Rakefile
37
+ - rails/init.rb
38
+ - lib/rails_doorman
39
+ - lib/rails_doorman/helpers.rb
40
+ - lib/rails_doorman/rule.rb
41
+ - lib/rails_doorman.rb
42
+ - spec/fixtures
43
+ - spec/fixtures/app
44
+ - spec/fixtures/app/app
45
+ - spec/fixtures/app/app/controllers
46
+ - spec/fixtures/app/app/controllers/access_control_by_host_controller.rb
47
+ - spec/fixtures/app/app/controllers/access_control_by_user_agent_controller.rb
48
+ - spec/fixtures/app/app/controllers/allow_all_by_default_controller.rb
49
+ - spec/fixtures/app/app/controllers/allowed_and_denied_roles_controller.rb
50
+ - spec/fixtures/app/app/controllers/allowed_and_denied_users_controller.rb
51
+ - spec/fixtures/app/app/controllers/allowed_role_controller.rb
52
+ - spec/fixtures/app/app/controllers/allowed_role_with_only_controller.rb
53
+ - spec/fixtures/app/app/controllers/allowed_user_controller.rb
54
+ - spec/fixtures/app/app/controllers/application_controller.rb
55
+ - spec/fixtures/app/app/controllers/denied_role_controller.rb
56
+ - spec/fixtures/app/app/controllers/denied_user_controller.rb
57
+ - spec/fixtures/app/app/controllers/deny_all_controller.rb
58
+ - spec/fixtures/app/app/controllers/explicitly_allow_all_controller.rb
59
+ - spec/fixtures/app/app/controllers/test_controller.rb
60
+ - spec/fixtures/app/app/controllers/view_helpers_controller.rb
61
+ - spec/fixtures/app/app/helpers
62
+ - spec/fixtures/app/app/helpers/application_helper.rb
63
+ - spec/fixtures/app/app/models
64
+ - spec/fixtures/app/app/models/user.rb
65
+ - spec/fixtures/app/app/views
66
+ - spec/fixtures/app/app/views/layouts
67
+ - spec/fixtures/app/app/views/layouts/application.html.erb
68
+ - spec/fixtures/app/app/views/view_helpers
69
+ - spec/fixtures/app/app/views/view_helpers/allow_via_role.html.erb
70
+ - spec/fixtures/app/app/views/view_helpers/deny_via_role.html.erb
71
+ - spec/fixtures/app/config
72
+ - spec/fixtures/app/config/boot.rb
73
+ - spec/fixtures/app/config/environment.rb
74
+ - spec/fixtures/app/config/environments
75
+ - spec/fixtures/app/config/environments/development.rb
76
+ - spec/fixtures/app/config/environments/production.rb
77
+ - spec/fixtures/app/config/environments/test.rb
78
+ - spec/fixtures/app/config/initializers
79
+ - spec/fixtures/app/config/initializers/backtrace_silencers.rb
80
+ - spec/fixtures/app/config/initializers/inflections.rb
81
+ - spec/fixtures/app/config/initializers/mime_types.rb
82
+ - spec/fixtures/app/config/initializers/new_rails_defaults.rb
83
+ - spec/fixtures/app/config/initializers/session_store.rb
84
+ - spec/fixtures/app/config/locales
85
+ - spec/fixtures/app/config/locales/en.yml
86
+ - spec/fixtures/app/config/routes.rb
87
+ - spec/fixtures/app/db
88
+ - spec/fixtures/app/db/foo.txt
89
+ - spec/fixtures/app/doc
90
+ - spec/fixtures/app/doc/README_FOR_APP
91
+ - spec/fixtures/app/lib
92
+ - spec/fixtures/app/lib/tasks
93
+ - spec/fixtures/app/log
94
+ - spec/fixtures/app/public
95
+ - spec/fixtures/app/public/404.html
96
+ - spec/fixtures/app/public/422.html
97
+ - spec/fixtures/app/public/500.html
98
+ - spec/fixtures/app/public/favicon.ico
99
+ - spec/fixtures/app/public/images
100
+ - spec/fixtures/app/public/images/rails.png
101
+ - spec/fixtures/app/public/javascripts
102
+ - spec/fixtures/app/public/javascripts/application.js
103
+ - spec/fixtures/app/public/javascripts/controls.js
104
+ - spec/fixtures/app/public/javascripts/dragdrop.js
105
+ - spec/fixtures/app/public/javascripts/effects.js
106
+ - spec/fixtures/app/public/javascripts/prototype.js
107
+ - spec/fixtures/app/public/robots.txt
108
+ - spec/fixtures/app/public/stylesheets
109
+ - spec/fixtures/app/Rakefile
110
+ - spec/fixtures/app/README
111
+ - spec/fixtures/app/script
112
+ - spec/fixtures/app/script/about
113
+ - spec/fixtures/app/script/console
114
+ - spec/fixtures/app/script/dbconsole
115
+ - spec/fixtures/app/script/destroy
116
+ - spec/fixtures/app/script/generate
117
+ - spec/fixtures/app/script/performance
118
+ - spec/fixtures/app/script/performance/benchmarker
119
+ - spec/fixtures/app/script/performance/profiler
120
+ - spec/fixtures/app/script/plugin
121
+ - spec/fixtures/app/script/runner
122
+ - spec/fixtures/app/script/server
123
+ - spec/fixtures/app/test
124
+ - spec/fixtures/app/test/fixtures
125
+ - spec/fixtures/app/test/functional
126
+ - spec/fixtures/app/test/integration
127
+ - spec/fixtures/app/test/performance
128
+ - spec/fixtures/app/test/performance/browsing_test.rb
129
+ - spec/fixtures/app/test/test_helper.rb
130
+ - spec/fixtures/app/test/unit
131
+ - spec/fixtures/app/tmp
132
+ - spec/fixtures/app/vendor
133
+ - spec/fixtures/app/vendor/plugins
134
+ - spec/fixtures/app/vendor/plugins/doorman
135
+ - spec/fixtures/app/vendor/plugins/doorman/init.rb
136
+ - spec/rails_doorman
137
+ - spec/rails_doorman/class_methods_spec.rb
138
+ - spec/rails_doorman/rule_spec.rb
139
+ - spec/spec_helper.rb
140
+ - features/doorman.feature
141
+ - features/step_definitions
142
+ - features/step_definitions/common_steps.rb
143
+ - features/step_definitions/webrat_steps.rb
144
+ - features/support
145
+ - features/support/authorized_matcher.rb
146
+ - features/support/env.rb
147
+ - features/support/paths.rb
148
+ - features/support/unauthorized_matcher.rb
149
+ has_rdoc: false
150
+ homepage: http://github.com/jrun/rails_doorman/
151
+ post_install_message:
152
+ rdoc_options: []
153
+
154
+ require_paths:
155
+ - lib
156
+ required_ruby_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: "0"
161
+ version:
162
+ required_rubygems_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: "0"
167
+ version:
168
+ requirements: []
169
+
170
+ rubyforge_project:
171
+ rubygems_version: 1.2.0
172
+ signing_key:
173
+ specification_version: 3
174
+ summary: Rails plugin that provides an allow/deny DSL for controlling access
175
+ test_files: []
176
+