docker-compose 1.1.4 → 1.1.5
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/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
|