class-cattr 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.version +1 -1
- data/lib/lib/base.rb +10 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: daf0e9dce7f539dcee2efa21621efe388773b7d8d5a241bee4a752306857a37f
|
4
|
+
data.tar.gz: 3f8afb451644f3d88e158943de7cd9c33cf84dd26724067bf5b64667d7b18064
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80dd686971edcea3eeb2316ac6f3ea4e78c9e0132e66a810ff86e471a795cf377947fc8694b21923512f42158942ab968f0b808178be61a0877a96fd542de72c
|
7
|
+
data.tar.gz: 9b1ac1643ff555037c60ba35f0a96347aa277144f7db4c08399c6b080cdb628a9a99c1d665524013f48f2aa16763237c1521fb7135a55244ccd091c9f9e97fd8
|
data/.version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/lib/base.rb
CHANGED
@@ -3,6 +3,10 @@ class Class
|
|
3
3
|
if name
|
4
4
|
# cattr :foo, class: true, instance: true, default: proc { bar }
|
5
5
|
|
6
|
+
unless opts.class == Hash
|
7
|
+
raise ArgumentError, 'Options are not a Hash'
|
8
|
+
end
|
9
|
+
|
6
10
|
# if block provided, set it as a default value
|
7
11
|
if block
|
8
12
|
opts[:default] = block
|
@@ -14,8 +18,12 @@ class Class
|
|
14
18
|
CattrProxy.new(self).send('%s=' % name, arg)
|
15
19
|
end
|
16
20
|
|
17
|
-
define_singleton_method(name) do
|
18
|
-
|
21
|
+
define_singleton_method(name) do |arg = :_nil|
|
22
|
+
if arg == :_nil
|
23
|
+
CattrProxy.new(self).send(name)
|
24
|
+
else
|
25
|
+
CattrProxy.new(self).send('%s=' % name, arg)
|
26
|
+
end
|
19
27
|
end
|
20
28
|
end
|
21
29
|
|