restful_acl 3.0.0 → 3.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.
- data/VERSION +1 -1
- data/lib/restful_acl/base.rb +3 -12
- data/lib/restful_acl/helper.rb +13 -1
- data/lib/restful_acl/url_parser.rb +13 -12
- data/restful_acl.gemspec +2 -2
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.1
|
data/lib/restful_acl/base.rb
CHANGED
@@ -4,18 +4,9 @@ module RestfulAcl
|
|
4
4
|
attr_accessor :object, :parent, :user, :controller_name, :uri, :action, :object_id
|
5
5
|
|
6
6
|
|
7
|
-
def initialize(options
|
8
|
-
|
9
|
-
@
|
10
|
-
@uri = options[:uri]
|
11
|
-
@action = options[:action]
|
12
|
-
@controller_name = options[:controller_name]
|
13
|
-
|
14
|
-
if @object_id.present?
|
15
|
-
load_actors_from_id
|
16
|
-
else
|
17
|
-
load_actors_from_uri
|
18
|
-
end
|
7
|
+
def initialize(options)
|
8
|
+
options.each{|(k,v)| instance_variable_set "@#{k}", v}
|
9
|
+
(@object_id.present?) ? load_actors_from_id : load_actors_from_uri
|
19
10
|
end
|
20
11
|
|
21
12
|
def load_actors_from_id
|
data/lib/restful_acl/helper.rb
CHANGED
@@ -8,5 +8,17 @@ module RestfulAcl
|
|
8
8
|
yield if access.allowed?
|
9
9
|
end
|
10
10
|
|
11
|
+
%w{creat delet updat read}.each do |m|
|
12
|
+
define_method("#{m}able?") do |*args, &block|
|
13
|
+
RAILS_DEFAULT_LOGGER.error <<-STR
|
14
|
+
|
15
|
+
*****************************************************************************************
|
16
|
+
* RESTful_ACL error => ##{m}able? has been removed as of v3.0.0, please use #allowable?
|
17
|
+
*****************************************************************************************
|
18
|
+
|
19
|
+
STR
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
11
23
|
end
|
12
|
-
end
|
24
|
+
end
|
@@ -8,23 +8,23 @@
|
|
8
8
|
class UrlParser
|
9
9
|
|
10
10
|
TypesOfURLs = [
|
11
|
-
{:name => "parent_with_specific_child", :controller_bit => 3, :object_id_bit => 4, :regex => /\/(\w+)\/(\d+)[\w
|
12
|
-
{:name => "parent_with_edit_child", :controller_bit => 3, :object_id_bit => 4, :regex => /\/(\w+)\/(\d+)[\w
|
13
|
-
{:name => "parent_with_child_index", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w
|
14
|
-
{:name => "parent_with_new_child", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w
|
15
|
-
{:name => "edit_singleton_child", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w
|
16
|
-
{:name => "new_singleton_child", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w
|
17
|
-
{:name => "edit_parent", :controller_bit => 1, :object_id_bit => 2, :regex => /\/(\w+)\/edit$/},
|
11
|
+
{:name => "parent_with_specific_child", :controller_bit => 3, :object_id_bit => 4, :regex => /\/(\w+)\/(\d+)[\w-]*\/(\w+)\/(\d+)[\w-]*$/},
|
12
|
+
{:name => "parent_with_edit_child", :controller_bit => 3, :object_id_bit => 4, :regex => /\/(\w+)\/(\d+)[\w-]*\/(\w+)\/(\d+)[\w-]*\/edit$/},
|
13
|
+
{:name => "parent_with_child_index", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w-]*\/(\w+)$/},
|
14
|
+
{:name => "parent_with_new_child", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w-]*\/(\w+)\/new$/},
|
15
|
+
{:name => "edit_singleton_child", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w-]*\/(\w+)\/edit$/},
|
16
|
+
{:name => "new_singleton_child", :controller_bit => 3, :object_id_bit => nil, :regex => /\/(\w+)\/(\d+)[\w-]*\/(\w+)\/new$/},
|
17
|
+
{:name => "edit_parent", :controller_bit => 1, :object_id_bit => 2, :regex => /\/(\w+)\/(\d+)[\w-]*\/edit$/},
|
18
18
|
{:name => "new_parent", :controller_bit => 1, :object_id_bit => nil, :regex => /\/(\w+)\/new$/},
|
19
|
-
{:name => "specific_parent", :controller_bit => 1, :object_id_bit => 2, :regex => /\/(\w+)\/(\d+)[\w
|
19
|
+
{:name => "specific_parent", :controller_bit => 1, :object_id_bit => 2, :regex => /\/(\w+)\/(\d+)[\w-]*$/},
|
20
20
|
{:name => "parent_index", :controller_bit => 1, :object_id_bit => nil, :regex => /\/(\w+)$/}
|
21
21
|
]
|
22
22
|
|
23
|
-
URL = /href="([\w
|
24
|
-
AJAXURL = /url:'([\w
|
23
|
+
URL = /href="([\w\/-?$_.+!*'(),]+)"/
|
24
|
+
AJAXURL = /url:'([\w\/-?$_.+!*'(),]+)'/
|
25
25
|
NewURL = /\/new$/
|
26
26
|
EditURL = /\/edit$/
|
27
|
-
ObjectURL = /\/(\d+)[\w
|
27
|
+
ObjectURL = /\/(\d+)[\w-]*$/
|
28
28
|
DestroyURL = /.*m\.setAttribute\('value', 'delete'\).*/
|
29
29
|
|
30
30
|
attr_accessor :text, :user, :url
|
@@ -69,7 +69,8 @@ class UrlParser
|
|
69
69
|
|
70
70
|
# Call the dynamically created method with arguments from deduced hash
|
71
71
|
def invoke_url_type_method(type)
|
72
|
-
|
72
|
+
data = OpenStruct.new(type)
|
73
|
+
send(data.name, @url, data.controller_bit, data.object_id_bit, data.regex)
|
73
74
|
end
|
74
75
|
|
75
76
|
# Deduce the requested URL's "type" based on the TypesOfURLs hash
|
data/restful_acl.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{restful_acl}
|
8
|
-
s.version = "3.0.
|
8
|
+
s.version = "3.0.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Matt Darby"]
|
12
|
-
s.date = %q{2009-
|
12
|
+
s.date = %q{2009-12-07}
|
13
13
|
s.description = %q{A Ruby on Rails plugin that provides fine grained access control to RESTful resources.}
|
14
14
|
s.email = %q{matt@matt-darby.com}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restful_acl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Darby
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-07 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|