orchparty 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/orchparty/transformations/mixin.rb +20 -7
- data/lib/orchparty/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0658e519783142f1e2400bb52fef05cc610197d
|
4
|
+
data.tar.gz: ff53d6024885289562d0e6358963c86894096075
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3d992b77c8fbd7179610d7757e756977a949b957068452cd2dbee0e48dc604533a1926fd23c6c8c1fb8e825d8ae839f2628f32331529bd8cd204b97a726fa99
|
7
|
+
data.tar.gz: 18d0691bbc8f99ab0862c6d83eaef60a96b63a7b614c9db9d78ce6765d9f35a452b6c083f6be10edc3045bd217aa114ded9da4020bca2d24b274ade172b8586e
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Orchparty
|
2
2
|
|
3
3
|
[![Build Status](https://travis-ci.org/jannishuebl/orchparty.svg?branch=master)](https://travis-ci.org/jannishuebl/orchparty)
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/orchparty.svg)](https://badge.fury.io/rb/orchparty)
|
4
5
|
|
5
6
|
Write your orchestration configuration with a Ruby DSL that allows you to have mixins, imports and variables.
|
6
7
|
|
@@ -18,18 +18,31 @@ module Orchparty
|
|
18
18
|
def transform_application(application, ast)
|
19
19
|
application.services = application.services.transform_values! do |service|
|
20
20
|
current = AST::Service.new
|
21
|
-
service.delete(:_mix).each do |
|
22
|
-
|
23
|
-
|
24
|
-
current = current.deep_merge_concat(ast.mixins[mixin_name].services[mixin_service_name])
|
25
|
-
else
|
26
|
-
current = current.deep_merge_concat(application.mixins[mixin])
|
27
|
-
end
|
21
|
+
service.delete(:_mix).each do |mix|
|
22
|
+
mixin = transform_mixin(resolve_mixin(mix, application, ast), application, ast)
|
23
|
+
current = current.deep_merge_concat(mixin)
|
28
24
|
end
|
29
25
|
current.deep_merge_concat(service)
|
30
26
|
end
|
31
27
|
application
|
32
28
|
end
|
29
|
+
|
30
|
+
def resolve_mixin(mix, application, ast)
|
31
|
+
if mix.include? "."
|
32
|
+
mixin_name, mixin_service_name = mix.split(".")
|
33
|
+
ast.mixins[mixin_name].services[mixin_service_name]
|
34
|
+
else
|
35
|
+
application.mixins[mix]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def transform_mixin(mixin, application, ast)
|
40
|
+
current = AST::Service.new
|
41
|
+
mixin[:_mix].each do |mix|
|
42
|
+
current = current.deep_merge_concat(resolve_mixin(mix, application, ast))
|
43
|
+
end
|
44
|
+
current.deep_merge_concat(mixin)
|
45
|
+
end
|
33
46
|
end
|
34
47
|
end
|
35
48
|
end
|
data/lib/orchparty/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orchparty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jannis Huebl
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|