opt_struct 1.5.1 → 1.5.2
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 +9 -2
- data/lib/opt_struct/version.rb +1 -1
- 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: d997efd436a127ccf51efc19590c55f4671c087e61ed085174a273a723d9fc66
|
4
|
+
data.tar.gz: 87f2650397718c6dad69871202ea303de8626c94d98cab01b1e14ce6e78de82e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ba6acba66bd8d059d3cc210b5102908929458b6665972e7ba3c049fed4eb6ab1031edf987b0e1d30ba61130d72cf0cdd075587319016924445e075cae4e4a83
|
7
|
+
data.tar.gz: 9dd91af6395c02a480a9ffe413c1912dba17f30fc7f7e3f175f0b681d485aee8f9cbf91ac136158f6bf82942bd137e3e68082bd9d2d7ac8ba1c2d44e541f7d29
|
@@ -3,8 +3,15 @@ module OptStruct
|
|
3
3
|
def inherited(subclass)
|
4
4
|
# intersection of defined vars and the ones we care about
|
5
5
|
(instance_variables & OptStruct::CLASS_IVARS).each do |ivar|
|
6
|
-
# copy
|
7
|
-
|
6
|
+
# copy each to the child class
|
7
|
+
value =
|
8
|
+
case ivar
|
9
|
+
when :@_callbacks # Hash that we need to duplicate deeper
|
10
|
+
instance_variable_get(ivar).transform_values(&:dup)
|
11
|
+
else
|
12
|
+
instance_variable_get(ivar).dup
|
13
|
+
end
|
14
|
+
subclass.send(:instance_variable_set, ivar, value)
|
8
15
|
end
|
9
16
|
super(subclass)
|
10
17
|
end
|
data/lib/opt_struct/version.rb
CHANGED