opt_struct 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/opt_struct/class_methods.rb +10 -9
- data/opt_struct.gemspec +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: b699f5addc372cfd588ad4fbf591aea4c77c4688
|
4
|
+
data.tar.gz: 11fefbd784a3055f7a4ad4364fa94a7722628c78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a686c37ceb559479e949dd7b1593be9ceb9695fe5bcb82887989958ba3dfa0a65567e90efecd2f8c513aefbdb754a6cdb6b159855154d3f25c37e0f4110e1b7
|
7
|
+
data.tar.gz: 760dfdca6554c4c805db839ba9dbcfd6154743caeec1de527db5a72dd7f2c56c5bd846a4cb140387f35ac47a2efb3bec84f17f07eefb1a118b5472717947a690
|
@@ -23,16 +23,17 @@ module OptStruct
|
|
23
23
|
define_method(key) do
|
24
24
|
if options.key?(key)
|
25
25
|
options[key]
|
26
|
-
|
26
|
+
elsif defaults.key?(key)
|
27
27
|
default = defaults[key]
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
28
|
+
options[key] =
|
29
|
+
case default
|
30
|
+
when Proc
|
31
|
+
instance_exec(&default)
|
32
|
+
when Symbol
|
33
|
+
respond_to?(default) ? send(default) : default
|
34
|
+
else
|
35
|
+
default
|
36
|
+
end
|
36
37
|
end
|
37
38
|
end
|
38
39
|
end
|
data/opt_struct.gemspec
CHANGED