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 +4 -4
- data/lib/dry-stack/stack.rb +29 -0
- data/lib/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d870604c7a56509c870f40844cc4fba74e19c0c846843d33da00b674f554ffc1
|
4
|
+
data.tar.gz: e18504c30b981ceee5ce2e480c8b4456609c53afa394626536e21c56ed4f01c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c359fb9d2f77900ff5878218320f32c969b480e8acc1eb294f9a48f84ce67783757623cc02d7ac4ad23f3376f4df50164d61f83a68de418afd8194e0a013c06
|
7
|
+
data.tar.gz: 596532b79160ffe13600e0e32708c3fe1e89720c5eada9a5f6aed03a3ce971064853dff5930faab458f24400c03110c83417a523c6d0503bbf4c14c21f9a51eb
|
data/lib/dry-stack/stack.rb
CHANGED
@@ -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