dry-stack 0.0.49 → 0.0.51

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
  SHA256:
3
- metadata.gz: 62f0c72afa042acb940f42642f2ffca70b50f4e9c345646c2f21b78cfc473ba9
4
- data.tar.gz: 653e050aa4ca8d4648f4630adbc1b0ac15294370d89d37df73f12b57feebd4cb
3
+ metadata.gz: d870604c7a56509c870f40844cc4fba74e19c0c846843d33da00b674f554ffc1
4
+ data.tar.gz: e18504c30b981ceee5ce2e480c8b4456609c53afa394626536e21c56ed4f01c7
5
5
  SHA512:
6
- metadata.gz: 0a609ba709fe6c08ebb1f914915d6efce768dbeb8986e2cd61fd8263111b2ba90526ba06df43a1da2a152fe9ae1e74887c058c920cbd7036cd1ccf8aadf0de58
7
- data.tar.gz: 53b06770e8f2b890bb60e1e39c8dfdd65e3291396578275b9d84e4b73239036d68b4238a4088892b5b30920d43a94a8e0e70a9ee64c8f0f4d4bb2f2af7ab7db2
6
+ metadata.gz: 3c359fb9d2f77900ff5878218320f32c969b480e8acc1eb294f9a48f84ce67783757623cc02d7ac4ad23f3376f4df50164d61f83a68de418afd8194e0a013c06
7
+ data.tar.gz: 596532b79160ffe13600e0e32708c3fe1e89720c5eada9a5f6aed03a3ce971064853dff5930faab458f24400c03110c83417a523c6d0503bbf4c14c21f9a51eb
@@ -3,8 +3,24 @@ require 'yaml'
3
3
  require 'optparse'
4
4
  require 'digest'
5
5
 
6
+ # class TrueClass
7
+ # def encode_with(coder) = coder.represent_scalar('tag:yaml.org,2002:str', 'true')
8
+ # end
9
+ #
10
+ # class FalseClass
11
+ # def encode_with(coder)= coder.represent_scalar('tag:yaml.org,2002:str', 'false')
12
+ # end
13
+
6
14
  module Dry
7
15
 
16
+ def each_recursive(parent, each_ =-> { _1.respond_to?(:each) ? _1.each : [] }, path = [], &blk)
17
+ each2_ = each_.is_a?(Array) ? ->(p) { (m = each_.find { p.respond_to? _1 }) ? p.send(m) : [] } : each_
18
+ (each2_[parent] || []).each do |(k,v)|
19
+ blk.call [path + [parent], k, v, path]
20
+ each_recursive(v || k, each_, path + [parent], &blk)
21
+ end
22
+ end
23
+
8
24
  def Stack(name = nil, &)
9
25
  Stack.last_stack = Stack.new name
10
26
  Stack.last_stack.instance_exec(&) if block_given?
@@ -48,6 +64,7 @@ module Dry
48
64
  @deploy = {}
49
65
  @labels = {}
50
66
  @configs = {}
67
+ @logging = {}
51
68
  end
52
69
 
53
70
  def stringify(obj)
@@ -167,6 +184,7 @@ module Dry
167
184
  service[:ports] = (service[:ports] || []) + pp_s unless pp_s.nil?
168
185
 
169
186
  service[:environment].transform_values! { !!_1 == _1 ? _1.to_s : _1 } # (false|true) to string
187
+ service[:logging] ||= @logging[name.to_sym]
170
188
  end
171
189
 
172
190
  compose[:configs].update(compose[:configs]) do |name, config|
@@ -185,6 +203,11 @@ module Dry
185
203
  o.delete_if { _2.nil? || (_2.respond_to?(:empty?) && _2.empty?) } if o.is_a? Hash
186
204
  }
187
205
  prune[compose]
206
+
207
+ each_recursive compose do |_path, node, _v|
208
+ _path.last[node] = _v.to_s if node.to_s == 'fluentd-async'
209
+ end
210
+
188
211
  stringify(compose).to_yaml
189
212
  end
190
213
 
@@ -233,6 +256,12 @@ module Dry
233
256
  yield if block_given?
234
257
  end
235
258
 
259
+ def Logging(names, opts = {})
260
+ [names].flatten.each do |name|
261
+ @logging[name.to_sym] = opts
262
+ end
263
+ end
264
+
236
265
  def Volume(name, opts = {})
237
266
  @volumes[name] ||= {}
238
267
  @volumes[name].merge! opts
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.0.49'
3
+ VERSION = '0.0.51'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.49
4
+ version: 0.0.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B