dry-stack 0.0.49 → 0.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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