docker-api 1.7.0 → 1.7.2

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.
@@ -82,6 +82,7 @@ end
82
82
  require 'docker/version'
83
83
  require 'docker/error'
84
84
  require 'docker/util'
85
+ require 'docker/messages'
85
86
  require 'docker/connection'
86
87
  require 'docker/container'
87
88
  require 'docker/image'
@@ -54,13 +54,13 @@ class Docker::Container
54
54
  :stream => true, :stdout => true, :stderr => true
55
55
  }.merge(options)
56
56
  # Creates list to store stdout and stderr messages
57
- msgs = [[],[]]
57
+ msgs = Docker::Messages.new
58
58
  connection.post(
59
59
  path_for(:attach),
60
60
  opts,
61
61
  :response_block => attach_for(block, msgs)
62
62
  )
63
- msgs
63
+ [msgs.stdout_messages, msgs.stderr_messages]
64
64
  end
65
65
 
66
66
  # Create an Image from a Container's change.s
@@ -143,16 +143,16 @@ class Docker::Container
143
143
 
144
144
  # Method that takes chunks and calls the attached block for each mux'd message
145
145
  def attach_for(block, msg_stack)
146
+ messages = Docker::Messages.new
146
147
  lambda do |c,r,t|
147
- stdout_msgs, stderr_msgs = Docker::Util.decipher_messages(c)
148
- msg_stack[0] += stdout_msgs
149
- msg_stack[1] += stderr_msgs
148
+ messages = messages.decipher_messages(c)
149
+ msg_stack.append(messages)
150
150
 
151
151
  unless block.nil?
152
- stdout_msgs.each do |msg|
152
+ messages.stdout_messages.each do |msg|
153
153
  block.call(:stdout, msg)
154
154
  end
155
- stderr_msgs.each do |msg|
155
+ messages.stderr_messages.each do |msg|
156
156
  block.call(:stderr, msg)
157
157
  end
158
158
  end
@@ -0,0 +1,52 @@
1
+ # This class represents all the messages either received by chunks from attach
2
+ class Docker::Messages
3
+
4
+ attr_accessor :buffer, :stdout_messages, :stderr_messages
5
+
6
+ def initialize(stdout_messages = [], stderr_messages = [], buffer = "")
7
+ @stdout_messages = stdout_messages
8
+ @stderr_messages = stderr_messages
9
+ @buffer = buffer
10
+ end
11
+
12
+ def add_message(source, message)
13
+ case source
14
+ when 1
15
+ stdout_messages << message
16
+ when 2
17
+ stderr_messages << message
18
+ end
19
+ end
20
+
21
+ def get_message(raw_text)
22
+ header = raw_text.slice!(0,8)
23
+ if header.length < 8
24
+ @buffer = header
25
+ return
26
+ end
27
+ type, length = header.unpack("CxxxN")
28
+
29
+ message = raw_text.slice!(0,length)
30
+ if message.length < length
31
+ @buffer = header + message
32
+ else
33
+ add_message(type, message)
34
+ end
35
+ end
36
+
37
+ def append(messages)
38
+ @stdout_messages += messages.stdout_messages
39
+ @stderr_messages += messages.stderr_messages
40
+ end
41
+
42
+ # Method to break apart application/vnd.docker.raw-stream headers
43
+ def decipher_messages(body)
44
+ raw_text = buffer + body.dup
45
+ messages = Docker::Messages.new
46
+ while !raw_text.empty?
47
+ messages.get_message(raw_text)
48
+ end
49
+
50
+ messages
51
+ end
52
+ end
@@ -62,23 +62,4 @@ module Docker::Util
62
62
  credentials = credentials.to_json if credentials.is_a?(Hash)
63
63
  { 'X-Registry-Auth' => Base64.encode64(credentials).gsub(/\n/, '') }
64
64
  end
65
-
66
- # Method to break apart application/vnd.docker.raw-stream headers
67
- def decipher_messages(body)
68
- raw_text = body.dup
69
- stdout_messages = []
70
- stderr_messages = []
71
- while !raw_text.empty?
72
- header = raw_text.slice!(0,8)
73
- next if header.nil?
74
- length = header[4..7].chars
75
- .map { |c| c.getbyte(0) }
76
- .inject(0) { |total, curr| (total << 8) + curr }
77
- message = raw_text.slice!(0,length)
78
- stdout_messages << message if header.getbyte(0) == 1
79
- stderr_messages << message if header.getbyte(0) == 2
80
- end
81
-
82
- [stdout_messages, stderr_messages]
83
- end
84
65
  end
@@ -1,6 +1,6 @@
1
1
  module Docker
2
2
  # The version of the docker-api gem.
3
- VERSION = '1.7.0'
3
+ VERSION = '1.7.2'
4
4
 
5
5
  # The version of the compatible Docker remote API.
6
6
  API_VERSION = '1.6'
@@ -129,12 +129,32 @@ describe Docker::Container do
129
129
 
130
130
  before { subject.start }
131
131
 
132
- it 'yields each chunk', :vcr do
133
- chunk = nil
134
- subject.attach do |stream, c|
135
- chunk ||= c
132
+ context 'with normal sized chunks' do
133
+ it 'yields each chunk', :vcr do
134
+ chunk = nil
135
+ subject.attach do |stream, c|
136
+ chunk ||= c
137
+ end
138
+ expect(chunk).to eq("/\n")
139
+ end
140
+ end
141
+
142
+ context 'with very small chunks' do
143
+ before do
144
+ Docker.options = { :chunk_size => 1 }
145
+ end
146
+
147
+ after do
148
+ Docker.options = {}
149
+ end
150
+
151
+ it 'yields each chunk', :vcr do
152
+ chunk = nil
153
+ subject.attach do |stream, c|
154
+ chunk ||= c
155
+ end
156
+ expect(chunk).to eq("/\n")
136
157
  end
137
- expect(chunk).to eq("/\n")
138
158
  end
139
159
  end
140
160
 
@@ -0,0 +1,96 @@
1
+ require 'spec_helper'
2
+
3
+ describe Docker::Messages do
4
+ shared_examples_for "two equal messages" do
5
+ it "has the same messages as we expect" do
6
+ expect(messages.stdout_messages).to eq(expected.stdout_messages)
7
+ expect(messages.stderr_messages).to eq(expected.stderr_messages)
8
+ expect(messages.buffer).to eq(expected.buffer)
9
+ end
10
+ end
11
+
12
+ describe '.decipher_messages' do
13
+ shared_examples_for "decipher_messages of raw_test" do
14
+ let(:messages) {
15
+ subject.decipher_messages(raw_text)
16
+ }
17
+
18
+ it_behaves_like "two equal messages"
19
+ end
20
+
21
+ context 'given both standard out and standard error' do
22
+ let(:raw_text) {
23
+ "\x01\x00\x00\x00\x00\x00\x00\x01a\x02\x00\x00\x00\x00\x00\x00\x01b"
24
+ }
25
+ let(:expected) {
26
+ Docker::Messages.new(["a"], ["b"], "")
27
+ }
28
+
29
+ it_behaves_like "decipher_messages of raw_test"
30
+ end
31
+
32
+ context 'given a single header' do
33
+ let(:raw_text) { "\x01\x00\x00\x00\x00\x00\x00\x01a" }
34
+ let(:expected) {
35
+ Docker::Messages.new(["a"], [], "")
36
+ }
37
+
38
+ it_behaves_like "decipher_messages of raw_test"
39
+ end
40
+
41
+ context 'given two headers' do
42
+ let(:raw_text) {
43
+ "\x01\x00\x00\x00\x00\x00\x00\x01a\x01\x00\x00\x00\x00\x00\x00\x01b"
44
+ }
45
+
46
+ let(:expected) {
47
+ Docker::Messages.new(["a", "b"], [], "")
48
+ }
49
+
50
+ it_behaves_like "decipher_messages of raw_test"
51
+ end
52
+
53
+ context 'given a header for text longer then 255 characters' do
54
+ let(:raw_text) {
55
+ "\x01\x00\x00\x00\x00\x00\x01\x01" + ("a" * 257)
56
+ }
57
+ let(:expected) {
58
+ Docker::Messages.new([("a" * 257)], [], "")
59
+ }
60
+
61
+ it_behaves_like "decipher_messages of raw_test"
62
+ end
63
+ end
64
+
65
+ describe "#append" do
66
+ context "appending one set of messages on another" do
67
+ let(:messages) {
68
+ Docker::Messages.new([], [], "")
69
+ }
70
+
71
+ before do
72
+ messages.append(new_messages)
73
+ end
74
+
75
+ context "with a buffer" do
76
+ let(:new_messages) {
77
+ Docker::Messages.new(["a"], [], "b")
78
+ }
79
+ let(:expected) {
80
+ Docker::Messages.new(["a"], [], "")
81
+ }
82
+ it_behaves_like "two equal messages"
83
+ end
84
+
85
+ context "without a buffer" do
86
+ let(:new_messages) {
87
+ Docker::Messages.new(["a"], [], "")
88
+ }
89
+ let(:expected) {
90
+ Docker::Messages.new(["a"], [], "")
91
+ }
92
+ it_behaves_like "two equal messages"
93
+ end
94
+ end
95
+ end
96
+ end
@@ -71,56 +71,4 @@ describe Docker::Util do
71
71
  end
72
72
  end
73
73
  end
74
-
75
- describe '#decipher_messages' do
76
- context 'given both standard out and standard error' do
77
- let(:raw_text) {
78
- "\x01\x00\x00\x00\x00\x00\x00\x01a\x02\x00\x00\x00\x00\x00\x00\x01b"
79
- }
80
- let(:expected_messages) { [["a"], ["b"]] }
81
-
82
- it "returns a single message" do
83
- expect(
84
- Docker::Util.decipher_messages(raw_text)
85
- ).to eq(expected_messages)
86
- end
87
- end
88
-
89
- context 'given a single header' do
90
- let(:raw_text) { "\x01\x00\x00\x00\x00\x00\x00\x01a" }
91
- let(:expected_messages) { [["a"], []] }
92
-
93
- it "returns a single message" do
94
- expect(
95
- Docker::Util.decipher_messages(raw_text)
96
- ).to eq(expected_messages)
97
- end
98
- end
99
-
100
- context 'given two headers' do
101
- let(:raw_text) {
102
- "\x01\x00\x00\x00\x00\x00\x00\x01a\x01\x00\x00\x00\x00\x00\x00\x01b"
103
- }
104
- let(:expected_messages) { [["a", "b"], []] }
105
-
106
- it "returns both messages" do
107
- expect(
108
- Docker::Util.decipher_messages(raw_text)
109
- ).to eq(expected_messages)
110
- end
111
- end
112
-
113
- context 'given a header for text longer then 255 characters' do
114
- let(:raw_text) {
115
- "\x01\x00\x00\x00\x00\x00\x01\x01" + ("a" * 257)
116
- }
117
- let(:expected_messages) { [[("a" * 257)], []] }
118
-
119
- it "returns both messages" do
120
- expect(
121
- Docker::Util.decipher_messages(raw_text)
122
- ).to eq(expected_messages)
123
- end
124
- end
125
- end
126
74
  end
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ! '{"Cmd":["pwd"],"Image":"base"}'
9
9
  headers:
10
10
  User-Agent:
11
- - Swipely/Docker-API 1.6.0
11
+ - Swipely/Docker-API 1.7.0
12
12
  Content-Type:
13
13
  - application/json
14
14
  response:
@@ -24,21 +24,21 @@ http_interactions:
24
24
  MjE=
25
25
  !binary "RGF0ZQ==":
26
26
  - !binary |-
27
- V2VkLCAzMCBPY3QgMjAxMyAxNjo1ODo1MyBHTVQ=
27
+ RnJpLCAwOCBOb3YgMjAxMyAxOTo1OTo1NiBHTVQ=
28
28
  body:
29
29
  encoding: US-ASCII
30
- string: ! '{"Id":"8fcf3ea9f6de"}'
30
+ string: ! '{"Id":"7cb80f7f5737"}'
31
31
  http_version:
32
- recorded_at: Wed, 30 Oct 2013 16:58:53 GMT
32
+ recorded_at: Fri, 08 Nov 2013 19:59:56 GMT
33
33
  - request:
34
34
  method: post
35
- uri: unix:///var/run/docker.sock/v1.6/containers/8fcf3ea9f6de/start
35
+ uri: unix:///var/run/docker.sock/v1.6/containers/7cb80f7f5737/start
36
36
  body:
37
37
  encoding: UTF-8
38
38
  string: ! '{}'
39
39
  headers:
40
40
  User-Agent:
41
- - Swipely/Docker-API 1.6.0
41
+ - Swipely/Docker-API 1.7.0
42
42
  Content-Type:
43
43
  - application/json
44
44
  response:
@@ -54,21 +54,21 @@ http_interactions:
54
54
  MA==
55
55
  !binary "RGF0ZQ==":
56
56
  - !binary |-
57
- V2VkLCAzMCBPY3QgMjAxMyAxNjo1ODo1MyBHTVQ=
57
+ RnJpLCAwOCBOb3YgMjAxMyAxOTo1OTo1NiBHTVQ=
58
58
  body:
59
59
  encoding: US-ASCII
60
60
  string: ''
61
61
  http_version:
62
- recorded_at: Wed, 30 Oct 2013 16:58:53 GMT
62
+ recorded_at: Fri, 08 Nov 2013 19:59:56 GMT
63
63
  - request:
64
64
  method: post
65
- uri: unix:///var/run/docker.sock/v1.6/containers/8fcf3ea9f6de/attach?stderr=true&stdout=true&stream=true
65
+ uri: unix:///var/run/docker.sock/v1.6/containers/7cb80f7f5737/attach?stderr=true&stdout=true&stream=true
66
66
  body:
67
67
  encoding: US-ASCII
68
68
  string: ''
69
69
  headers:
70
70
  User-Agent:
71
- - Swipely/Docker-API 1.6.0
71
+ - Swipely/Docker-API 1.7.0
72
72
  Content-Type:
73
73
  - text/plain
74
74
  response:
@@ -84,5 +84,5 @@ http_interactions:
84
84
  string: !binary |-
85
85
  AQAAAAAAAAIvCg==
86
86
  http_version:
87
- recorded_at: Wed, 30 Oct 2013 16:58:54 GMT
88
- recorded_with: VCR 2.6.0
87
+ recorded_at: Fri, 08 Nov 2013 19:59:56 GMT
88
+ recorded_with: VCR 2.7.0
@@ -0,0 +1,88 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: unix:///var/run/docker.sock/v1.6/containers/create
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"Cmd":["pwd"],"Image":"base"}'
9
+ headers:
10
+ User-Agent:
11
+ - Swipely/Docker-API 1.7.0
12
+ Content-Type:
13
+ - application/json
14
+ response:
15
+ status:
16
+ code: 201
17
+ message:
18
+ headers:
19
+ !binary "Q29udGVudC1UeXBl":
20
+ - !binary |-
21
+ YXBwbGljYXRpb24vanNvbg==
22
+ !binary "Q29udGVudC1MZW5ndGg=":
23
+ - !binary |-
24
+ MjE=
25
+ !binary "RGF0ZQ==":
26
+ - !binary |-
27
+ RnJpLCAwOCBOb3YgMjAxMyAxOTo1OTo1NiBHTVQ=
28
+ body:
29
+ encoding: US-ASCII
30
+ string: ! '{"Id":"ded9600a2f37"}'
31
+ http_version:
32
+ recorded_at: Fri, 08 Nov 2013 19:59:56 GMT
33
+ - request:
34
+ method: post
35
+ uri: unix:///var/run/docker.sock/v1.6/containers/ded9600a2f37/start
36
+ body:
37
+ encoding: UTF-8
38
+ string: ! '{}'
39
+ headers:
40
+ User-Agent:
41
+ - Swipely/Docker-API 1.7.0
42
+ Content-Type:
43
+ - application/json
44
+ response:
45
+ status:
46
+ code: 204
47
+ message:
48
+ headers:
49
+ !binary "Q29udGVudC1UeXBl":
50
+ - !binary |-
51
+ dGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA==
52
+ !binary "Q29udGVudC1MZW5ndGg=":
53
+ - !binary |-
54
+ MA==
55
+ !binary "RGF0ZQ==":
56
+ - !binary |-
57
+ RnJpLCAwOCBOb3YgMjAxMyAxOTo1OTo1NiBHTVQ=
58
+ body:
59
+ encoding: US-ASCII
60
+ string: ''
61
+ http_version:
62
+ recorded_at: Fri, 08 Nov 2013 19:59:56 GMT
63
+ - request:
64
+ method: post
65
+ uri: unix:///var/run/docker.sock/v1.6/containers/ded9600a2f37/attach?stderr=true&stdout=true&stream=true
66
+ body:
67
+ encoding: US-ASCII
68
+ string: ''
69
+ headers:
70
+ User-Agent:
71
+ - Swipely/Docker-API 1.7.0
72
+ Content-Type:
73
+ - text/plain
74
+ response:
75
+ status:
76
+ code: 200
77
+ message:
78
+ headers:
79
+ !binary "Q29udGVudC1UeXBl":
80
+ - !binary |-
81
+ YXBwbGljYXRpb24vdm5kLmRvY2tlci5yYXctc3RyZWFt
82
+ body:
83
+ encoding: US-ASCII
84
+ string: !binary |-
85
+ AQAAAAAAAAIvCg==
86
+ http_version:
87
+ recorded_at: Fri, 08 Nov 2013 19:59:56 GMT
88
+ recorded_with: VCR 2.7.0
metadata CHANGED
@@ -1,139 +1,158 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Swipely, Inc.
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-11-05 00:00:00.000000000 Z
12
+ date: 2013-11-08 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: excon
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0.28'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0.28'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: json
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: archive-tar-minitar
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rake
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rspec
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: cane
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - '>='
99
+ - - ! '>='
88
100
  - !ruby/object:Gem::Version
89
101
  version: '0'
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - '>='
107
+ - - ! '>='
95
108
  - !ruby/object:Gem::Version
96
109
  version: '0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: pry
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - '>='
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - '>='
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: vcr
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - '>='
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
133
  version: 2.7.0
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - '>='
139
+ - - ! '>='
123
140
  - !ruby/object:Gem::Version
124
141
  version: 2.7.0
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: simplecov
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
- - - '>='
147
+ - - ! '>='
130
148
  - !ruby/object:Gem::Version
131
149
  version: '0'
132
150
  type: :development
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
- - - '>='
155
+ - - ! '>='
137
156
  - !ruby/object:Gem::Version
138
157
  version: '0'
139
158
  description: A simple REST client for the Docker Remote API
@@ -159,12 +178,14 @@ files:
159
178
  - lib/docker/error.rb
160
179
  - lib/docker/event.rb
161
180
  - lib/docker/image.rb
181
+ - lib/docker/messages.rb
162
182
  - lib/docker/util.rb
163
183
  - lib/docker/version.rb
164
184
  - spec/docker/connection_spec.rb
165
185
  - spec/docker/container_spec.rb
166
186
  - spec/docker/event_spec.rb
167
187
  - spec/docker/image_spec.rb
188
+ - spec/docker/messages_spec.rb
168
189
  - spec/docker/util_spec.rb
169
190
  - spec/docker_spec.rb
170
191
  - spec/fixtures/build_from_dir/Dockerfile
@@ -176,7 +197,8 @@ files:
176
197
  - spec/vcr/Docker/_validate_version/when_nothing_is_raised/validate_version_/.yml
177
198
  - spec/vcr/Docker/_version/returns_the_version_as_a_Hash.yml
178
199
  - spec/vcr/Docker_Container/_all/when_the_HTTP_response_is_a_200/materializes_each_Container_into_a_Docker_Container.yml
179
- - spec/vcr/Docker_Container/_attach/yields_each_chunk.yml
200
+ - spec/vcr/Docker_Container/_attach/with_normal_sized_chunks/yields_each_chunk.yml
201
+ - spec/vcr/Docker_Container/_attach/with_very_small_chunks/yields_each_chunk.yml
180
202
  - spec/vcr/Docker_Container/_changes/returns_the_changes_as_an_array.yml
181
203
  - spec/vcr/Docker_Container/_commit/creates_a_new_Image_from_the_Container_s_changes.yml
182
204
  - spec/vcr/Docker_Container/_commit/if_run_is_passed_it_saves_the_command_in_the_image/saves_the_command.yml
@@ -221,32 +243,34 @@ files:
221
243
  homepage: https://github.com/swipely/docker-api
222
244
  licenses:
223
245
  - MIT
224
- metadata: {}
225
246
  post_install_message:
226
247
  rdoc_options: []
227
248
  require_paths:
228
249
  - lib
229
250
  required_ruby_version: !ruby/object:Gem::Requirement
251
+ none: false
230
252
  requirements:
231
- - - '>='
253
+ - - ! '>='
232
254
  - !ruby/object:Gem::Version
233
255
  version: '0'
234
256
  required_rubygems_version: !ruby/object:Gem::Requirement
257
+ none: false
235
258
  requirements:
236
- - - '>='
259
+ - - ! '>='
237
260
  - !ruby/object:Gem::Version
238
261
  version: '0'
239
262
  requirements: []
240
263
  rubyforge_project:
241
- rubygems_version: 2.0.3
264
+ rubygems_version: 1.8.23
242
265
  signing_key:
243
- specification_version: 4
266
+ specification_version: 3
244
267
  summary: A simple REST client for the Docker Remote API
245
268
  test_files:
246
269
  - spec/docker/connection_spec.rb
247
270
  - spec/docker/container_spec.rb
248
271
  - spec/docker/event_spec.rb
249
272
  - spec/docker/image_spec.rb
273
+ - spec/docker/messages_spec.rb
250
274
  - spec/docker/util_spec.rb
251
275
  - spec/docker_spec.rb
252
276
  - spec/fixtures/build_from_dir/Dockerfile
@@ -258,7 +282,8 @@ test_files:
258
282
  - spec/vcr/Docker/_validate_version/when_nothing_is_raised/validate_version_/.yml
259
283
  - spec/vcr/Docker/_version/returns_the_version_as_a_Hash.yml
260
284
  - spec/vcr/Docker_Container/_all/when_the_HTTP_response_is_a_200/materializes_each_Container_into_a_Docker_Container.yml
261
- - spec/vcr/Docker_Container/_attach/yields_each_chunk.yml
285
+ - spec/vcr/Docker_Container/_attach/with_normal_sized_chunks/yields_each_chunk.yml
286
+ - spec/vcr/Docker_Container/_attach/with_very_small_chunks/yields_each_chunk.yml
262
287
  - spec/vcr/Docker_Container/_changes/returns_the_changes_as_an_array.yml
263
288
  - spec/vcr/Docker_Container/_commit/creates_a_new_Image_from_the_Container_s_changes.yml
264
289
  - spec/vcr/Docker_Container/_commit/if_run_is_passed_it_saves_the_command_in_the_image/saves_the_command.yml
@@ -300,3 +325,4 @@ test_files:
300
325
  - spec/vcr/Docker_Image/_run/when_the_argument_is_nil/no_command_configured_in_image/should_raise_an_error_if_no_command_is_specified.yml
301
326
  - spec/vcr/Docker_Image/_search/materializes_each_Image_into_a_Docker_Image.yml
302
327
  - spec/vcr/Docker_Image/_tag/tags_the_image_with_the_repo_name.yml
328
+ has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: a4a13f5948a8df770804ade2a22dc3c31e7fc1b1
4
- data.tar.gz: c3ac3bb3d1219fb34fbb1e91b4ee63e7fc4486b9
5
- SHA512:
6
- metadata.gz: ff874b82925ea1dd68a05be8bdad589108967abc86d6a649efaf07606b35266284c4d596e0bdf603f56d7a5d8268a6f327a9e90311b0b7240cd9b517b909ac1f
7
- data.tar.gz: abd742b0ee713c369d1034b90c96ed6e8c6ba48ccac6fa36129ecd36c5a8c6340860cf89486d90feaacebf105a30f6df8ec17e5954dd63c85cc73dcd0cf19953