cannibal 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,6 @@ module Cannibal
6
6
 
7
7
  def set(options)
8
8
  actor = options[:actor]
9
- verb = options[:verb]
10
9
  subject = options[:subject]
11
10
 
12
11
  if actor.is_a? Class
@@ -21,24 +20,31 @@ module Cannibal
21
20
  subject_class = subject.class
22
21
  end
23
22
 
23
+ perm = options[:perm]
24
24
  actor_proc = options[:actor_proc]
25
25
  gproc = options[:proc]
26
26
 
27
- perm = options[:perm]
28
- attributes = options[:attribute]
29
- if attributes.nil?
30
- # Set class-wide perms if no attributes specified
31
- verb_hash(actor_class, subject_class, verb)[:perm] = perm unless perm.nil?
32
- verb_hash(actor_class, subject_class, verb)[:actor_proc] = actor_proc unless actor_proc.nil?
33
- verb_hash(actor_class, subject_class, verb)[:proc] = gproc unless gproc.nil?
34
- else
35
- attributes = [ attributes ] unless attributes.is_a? Array
36
- attributes.each do |attribute|
37
- attribute_hash(actor_class, subject_class, verb)[attribute] = {}
38
- attribute_hash(actor_class, subject_class, verb)[attribute][:perm] = perm unless perm.nil?
39
- attribute_hash(actor_class, subject_class, verb)[attribute][:actor_proc] = actor_proc unless actor_proc.nil?
40
- attribute_hash(actor_class, subject_class, verb)[attribute][:proc] = gproc unless gproc.nil?
27
+ verbs = options[:verb]
28
+ verbs = [ verbs ] unless verbs.is_a? Array
29
+
30
+ verbs.each do |verb|
31
+
32
+ attributes = options[:attribute]
33
+ if attributes.nil?
34
+ # Set class-wide perms if no attributes specified
35
+ verb_hash(actor_class, subject_class, verb)[:perm] = perm unless perm.nil?
36
+ verb_hash(actor_class, subject_class, verb)[:actor_proc] = actor_proc unless actor_proc.nil?
37
+ verb_hash(actor_class, subject_class, verb)[:proc] = gproc unless gproc.nil?
38
+ else
39
+ attributes = [ attributes ] unless attributes.is_a? Array
40
+ attributes.each do |attribute|
41
+ attribute_hash(actor_class, subject_class, verb)[attribute] = {}
42
+ attribute_hash(actor_class, subject_class, verb)[attribute][:perm] = perm unless perm.nil?
43
+ attribute_hash(actor_class, subject_class, verb)[attribute][:actor_proc] = actor_proc unless actor_proc.nil?
44
+ attribute_hash(actor_class, subject_class, verb)[attribute][:proc] = gproc unless gproc.nil?
45
+ end
41
46
  end
47
+
42
48
  end
43
49
  end
44
50
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cannibal
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 0
10
- version: 0.5.0
9
+ - 1
10
+ version: 0.5.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Three Wise Men
@@ -34,7 +34,7 @@ files:
34
34
  - lib/cannibal/subject.rb
35
35
  - README.mdown
36
36
  has_rdoc: true
37
- homepage:
37
+ homepage: http://github.com/ThreeWiseMen/cannibal
38
38
  licenses: []
39
39
 
40
40
  post_install_message: