wooster 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/wooster/policy_builder.rb +14 -10
- data/lib/wooster/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1984d3eebd643366bbfeb7c45d793ca72f03c7e
|
4
|
+
data.tar.gz: 03f8e3f24f417d32cc58f5bf5166faeec1e08ec2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9372fcf1214c6dce6d0d9f0e7192c2f8bf3e08e94cea35700d4cec7b2dac03b05515958387cd0197a60bfed43457168936b294931e3aa66d2e21898d4f09b5e
|
7
|
+
data.tar.gz: f1187babb9f050adee80efe2308fd3805aca6f4e4bd237382febe0ad331406eb4c525d5744e91c2392b86d16385b5cebe2b19728127d9ca5bf315c042e3f1645
|
@@ -11,7 +11,10 @@ module Wooster::Policy
|
|
11
11
|
# else:
|
12
12
|
# ->(x){args[0]
|
13
13
|
# end
|
14
|
-
|
14
|
+
|
15
|
+
->(x) {
|
16
|
+
args.any?{|fun| self.instance_exec x,&fun}
|
17
|
+
}
|
15
18
|
end
|
16
19
|
def all(*args)
|
17
20
|
->(x) {args.all?{|fun| self.instance_exec x,&fun}}
|
@@ -40,6 +43,7 @@ class DefinitionProxy
|
|
40
43
|
permissions.instance_eval(&block)
|
41
44
|
end
|
42
45
|
def record(klass,block)
|
46
|
+
|
43
47
|
permissions klass do
|
44
48
|
record block
|
45
49
|
end
|
@@ -53,16 +57,16 @@ class Permissions # < BasicObject
|
|
53
57
|
@klass = klass
|
54
58
|
end
|
55
59
|
def record(*args)
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
#byebug
|
60
|
-
@klass.class_variable_get(:@@wooster_records)[type] << block
|
61
|
-
when ::Proc
|
62
|
-
[:read, :write, :delete, :create].each {|type| record type, args[0] }
|
63
|
-
else
|
64
|
-
raise ArgumentError
|
60
|
+
block = args.pop
|
61
|
+
if args== []
|
62
|
+
args = [:read, :write, :delete, :create]
|
65
63
|
end
|
64
|
+
args.each {|type|
|
65
|
+
unless type.is_a?(Symbol)
|
66
|
+
raise ArgumentError
|
67
|
+
end
|
68
|
+
@klass.class_variable_get(:@@wooster_records)[type] << block
|
69
|
+
}
|
66
70
|
end
|
67
71
|
def read( block)
|
68
72
|
record(:read,block)
|
data/lib/wooster/version.rb
CHANGED