wooster 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c1d67510157a5135a1b2a57fd826821049facbd
4
- data.tar.gz: bde9e14d9256024d2c39e6508f508803de993247
3
+ metadata.gz: f1984d3eebd643366bbfeb7c45d793ca72f03c7e
4
+ data.tar.gz: 03f8e3f24f417d32cc58f5bf5166faeec1e08ec2
5
5
  SHA512:
6
- metadata.gz: 32955a149f08a307adc0b70e04521814007b55b5547fbe145aaedcd6aca213e5bd0a551c357a07dfa3510dc1fac818f64932e4af24b126e2ee75818648de0f0c
7
- data.tar.gz: 0ef8f323605e59810997e3c8fc1d93f749cba4635bc96e99841f586570d6b33964454068fc37391a9eaefef52ff73af48b28136da5a99ecc2852b13801b06b78
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
- ->(x) {args.any?{|fun| self.instance_exec x,&fun}}
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
- case args[0]
57
- when ::Symbol
58
- type, block = *args
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)
@@ -1,3 +1,3 @@
1
1
  module Wooster
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wooster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Bangert