docker-compose 1.1.4 → 1.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/docker/compose/container.rb +12 -9
- data/lib/docker/compose/session.rb +6 -2
- data/lib/docker/compose/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: 478beb29d6142fc515826e1aa6e14962dd7b35b9
|
4
|
+
data.tar.gz: 814a525fa49f283e11c88833e7c567045562aa3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27fbfc9b939b33b8a6c5435049342ab073c34c1ca80dae8b6ccaa139789286fe812d9c529029914f5d568bdfd92478a200e3e235f13ff0fd6b75b666e00179e2
|
7
|
+
data.tar.gz: c8a10bd86422094fad06353303c817c7d0633c5218dbd073cff769f93899bcc4a88626370f90ad7de7b312afe97a25836d2f4a98baa2b719d77f9c59b272b8e0
|
@@ -6,27 +6,30 @@ module Docker::Compose
|
|
6
6
|
PS_FMT_LEN = PS_FMT.count('.')
|
7
7
|
# Pattern that parses human-readable values from ps .Status
|
8
8
|
PS_STATUS = /^([A-Za-z]+) ?\(?([0-9]*)\)? ?(.*)$/i
|
9
|
+
# Pattern that parses FIRST occurrence of container size from a string,
|
10
|
+
# along with its units.
|
11
|
+
PS_SIZE = /^([0-9.]+)\s*([kmgt]?B)/i
|
9
12
|
|
10
13
|
attr_reader :id, :image, :size, :status, :exitstatus
|
11
14
|
attr_reader :names, :labels, :ports
|
12
15
|
|
13
16
|
# @param [String] id
|
14
17
|
# @param [String] image
|
15
|
-
# @param [String,
|
18
|
+
# @param [String,Integer] size e.g. "0B (virtual 100MB)"
|
16
19
|
# @param [String,#map] status e.g. ['Exited', '0', '3 minutes ago']
|
17
20
|
# @param [String,Array] names list of container names (CSV)
|
18
21
|
# @param [String,Array] labels list of container labels (CSV)
|
19
22
|
# @param [String,Array] ports list of exposed ports (CSV)
|
20
23
|
def initialize(id, image, size, status, names, labels, ports)
|
21
|
-
if size.is_a?(String)
|
22
|
-
scalar, units =
|
23
|
-
scalar =
|
24
|
+
if size.is_a?(String) && (m = PS_SIZE.match(size))
|
25
|
+
scalar, units = m[1], m[2]
|
26
|
+
scalar = scalar.to_f # lazy: invalid --> 0.0
|
24
27
|
mult = case units.downcase
|
25
28
|
when 'b' then 1
|
26
29
|
when 'kb' then 1_024
|
27
|
-
when 'mb' then 1_024
|
28
|
-
when 'gb' then 1_024
|
29
|
-
when 'tb' then 1_024
|
30
|
+
when 'mb' then 1_024**2
|
31
|
+
when 'gb' then 1_024**3
|
32
|
+
when 'tb' then 1_024**4
|
30
33
|
else
|
31
34
|
raise Error.new('Service#new', units, 'Impossibly large unit')
|
32
35
|
end
|
@@ -60,8 +63,8 @@ module Docker::Compose
|
|
60
63
|
end
|
61
64
|
|
62
65
|
# static sanity checking ftw!
|
63
|
-
unless ( initarity = instance_method(:initialize).arity ) ==
|
64
|
-
raise LoadError.new("#{__FILE__}:#{__LINE__} - arity(\#initialize) !=
|
66
|
+
unless ( initarity = instance_method(:initialize).arity ) == PS_FMT_LEN
|
67
|
+
raise LoadError.new("#{__FILE__}:#{__LINE__} - arity(\#initialize) != PS_FMT_LEN; #{initarity} != #{PS_FMT_LEN}")
|
65
68
|
end
|
66
69
|
|
67
70
|
# @return [String]
|
@@ -288,8 +288,11 @@ module Docker::Compose
|
|
288
288
|
str.gsub(ANSI, '')
|
289
289
|
end
|
290
290
|
|
291
|
-
#
|
292
|
-
#
|
291
|
+
# Parse a string that consists of a sequence of values enclosed within parentheses.
|
292
|
+
# Ignore any bytes that are outside of parentheses. Values may include nested parentheses.
|
293
|
+
#
|
294
|
+
# @param [String] str e.g. "(foo) ((bar)) ... (baz)"
|
295
|
+
# @return [Array] e.g. ["foo", "bar", "baz"]
|
293
296
|
def parse(str)
|
294
297
|
fields = []
|
295
298
|
nest = 0
|
@@ -303,6 +306,7 @@ module Docker::Compose
|
|
303
306
|
else
|
304
307
|
if ch == '('
|
305
308
|
nest += 1
|
309
|
+
field << ch
|
306
310
|
elsif ch == ')'
|
307
311
|
nest -= 1
|
308
312
|
if nest == 0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker-compose
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Spataro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backticks
|