awsome 0.0.25 → 0.0.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/awsome/requirements.rb +11 -1
  2. metadata +1 -1
@@ -50,12 +50,22 @@ module Awsome
50
50
  # extract trait supertraits for merging
51
51
  names += trait.delete('traits') || []
52
52
 
53
- inflated = trait.merge(inflated)
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awsome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.25
4
+ version: 0.0.26
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: