awsome 0.0.25 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/awsome/requirements.rb +11 -1
- metadata +1 -1
data/lib/awsome/requirements.rb
CHANGED
@@ -50,12 +50,22 @@ module Awsome
|
|
50
50
|
# extract trait supertraits for merging
|
51
51
|
names += trait.delete('traits') || []
|
52
52
|
|
53
|
-
inflated = trait
|
53
|
+
inflated = recursive_merge(trait, inflated)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
57
|
inflated
|
58
58
|
end
|
59
|
+
|
60
|
+
def recursive_merge(base, overrides)
|
61
|
+
base.merge(overiddes) do |key, lval, rval|
|
62
|
+
case
|
63
|
+
when lval.is_a?(Hash ) && rval.is_a?(Hash ) then recursive_merge(lval, rval)
|
64
|
+
when lval.is_a?(Array) && rval.is_a?(Array) then lval + rval
|
65
|
+
else rval || lval
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
59
69
|
end
|
60
70
|
end
|
61
71
|
|