orchparty 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 340c0d432dea150fbc82594e7960a09c39a3ab7e
4
- data.tar.gz: 6db077198c0059742dd904c87fc25baa563fb2f0
3
+ metadata.gz: 5d243c872d405da539b21a6b53298be09acb55f4
4
+ data.tar.gz: 5f965f1e90ad73cb73c6f8bf3647188b36098a57
5
5
  SHA512:
6
- metadata.gz: 620506215b212773fe51d0c412bad3d2366bf11181dfc3278fa8c7a999a5449262944f9973929c02b30a583a900f61ad1e0009b444b6a796b5ed1a0df3275a4e
7
- data.tar.gz: b2f012d2244d2ee3529124735ba073d26e96706aaa33b2351138fb0b9bba6882c3f55a85091047f7b69ef3c59104542bdba21596df5c4ae94bc0a4930f58a627
6
+ metadata.gz: e34429154f83613c266f7697457464f007115787ad62fb624c521d2add5034b7a833d14f360396396862ca8ff1a9472f85acf4d185115c06bce0b42d967272a5
7
+ data.tar.gz: 079360c3b92c0be1a00ba205c217f395eebc81c32a67d0214208bf33d1f6a09f664d840fb216b55d59d59f32dfe47bf61a4157df6aaa60278cd310b1a0623b32
@@ -48,13 +48,21 @@ module Orchparty
48
48
  class MixinBuilder
49
49
 
50
50
  def initialize(name)
51
- @mixin = AST::Mixin.new(name: name, services: {})
51
+ @mixin = AST::Mixin.new(name: name, services: {}, mixins: {})
52
52
  end
53
53
 
54
54
  def service(name, &block)
55
55
  builder = ServiceBuilder.new(name)
56
56
  builder.instance_eval(&block)
57
57
  @mixin.services[name] = builder._build
58
+ @mixin.mixins[name] = builder._build
59
+ self
60
+ end
61
+
62
+ def mixin(name, &block)
63
+ builder = ServiceBuilder.new(name)
64
+ builder.instance_eval(&block)
65
+ @mixin.mixins[name] = builder._build
58
66
  self
59
67
  end
60
68
 
@@ -6,7 +6,7 @@ module Orchparty
6
6
  ast.applications.each do |_, application|
7
7
  application.services.transform_values! do |service|
8
8
  if application.all.is_a?(Hash)
9
- AST::Service.new(application.all.deep_merge(service))
9
+ AST::Service.new(application.all.deep_merge_concat(service))
10
10
  else
11
11
  service
12
12
  end
@@ -30,7 +30,7 @@ module Orchparty
30
30
  def resolve_mixin(mix, application, ast)
31
31
  if mix.include? "."
32
32
  mixin_name, mixin_service_name = mix.split(".")
33
- ast.mixins[mixin_name].services[mixin_service_name]
33
+ ast.mixins[mixin_name].mixins[mixin_service_name]
34
34
  else
35
35
  application.mixins[mix]
36
36
  end
@@ -30,6 +30,7 @@ module Orchparty
30
30
  end
31
31
 
32
32
  def build_context(application:, service:)
33
+ application._variables ||= {}
33
34
  variables = application._variables.merge(service._variables)
34
35
  Context.new(variables.merge({application: application.merge(application._variables), service: service.merge(service._variables)}))
35
36
  end
@@ -1,3 +1,3 @@
1
1
  module Orchparty
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orchparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jannis Huebl