docker-api 1.13.3 → 1.13.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -95,7 +95,7 @@ Docker.authenticate!('username' => 'docker-fan-boi', 'password' => 'i<3docker',
95
95
  ```
96
96
 
97
97
  ## Images
98
- Just about every method here has a one-to-one mapping with the [Images](https://docs.docker.com/reference/api/docker_remote_api_v1.12/#22-images) section of the API. If an API call accepts query parameters, these can be passed as an Hash to it's corresponding method. Also, note that `Docker::Image.new` is a private method, so you must use `.create`, `.build`, `.build_from_dir`, or `.import` to make an instance.
98
+ Just about every method here has a one-to-one mapping with the [Images](https://docs.docker.com/reference/api/docker_remote_api_v1.12/#22-images) section of the API. If an API call accepts query parameters, these can be passed as an Hash to it's corresponding method. Also, note that `Docker::Image.new` is a private method, so you must use `.create`, `.build`, `.build_from_dir`, `build_from_tar`, or `.import` to make an instance.
99
99
 
100
100
  ```ruby
101
101
  require 'docker'
@@ -160,6 +160,10 @@ Docker::Image.build("from base\nrun touch /test")
160
160
  Docker::Image.build_from_dir('.')
161
161
  # => Docker::Image { :id => 1266dc19e, :connection => Docker::Connection { :url => tcp://localhost, :options => {:port=>2375} } }
162
162
 
163
+ # Create an Image from a tar file.
164
+ Docker::Image.build_from_tar(File.open('docker_image.tar', 'r'))
165
+ # => Docker::Image { :id => 1266dc19e, :connection => Docker::Connection { :url => tcp://localhost, :options => {:port=>2375} } }
166
+
163
167
  # Load all Images on your Docker server.
164
168
  Docker::Image.all
165
169
  # => [Docker::Image { :id => b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc, :connection => Docker::Connection { :url => tcp://localhost, :options => {:port=>2375} } }, Docker::Image { :id => 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c, :connection => Docker::Connection { :url => tcp://localhost, :options => {:port=>2375} } }]
data/lib/docker/image.rb CHANGED
@@ -160,15 +160,13 @@ class Docker::Image
160
160
  raise Docker::Error::UnexpectedResponseError
161
161
  end
162
162
 
163
- # Given a directory that contains a Dockerfile, builds an Image.
163
+ # Given File like object containing a tar file, builds an Image.
164
164
  #
165
165
  # If a block is passed, chunks of output produced by Docker will be passed
166
166
  # to that block.
167
- def build_from_dir(dir, opts = {}, connection = Docker.connection,
167
+ def build_from_tar(tar, opts = {}, connection = Docker.connection,
168
168
  creds = nil, &block)
169
169
 
170
- tar = Docker::Util.create_dir_tar(dir)
171
-
172
170
  headers = build_headers(creds)
173
171
 
174
172
  # The response_block passed to Excon will build up this body variable.
@@ -182,13 +180,24 @@ class Docker::Image
182
180
  new(connection,
183
181
  'id' => Docker::Util.extract_id(body),
184
182
  :headers => headers)
185
- ensure
186
- unless tar.nil?
187
- tar.close
188
- FileUtils.rm(tar.path, force: true)
189
- end
183
+ end
184
+
185
+ # Given a directory that contains a Dockerfile, builds an Image.
186
+ #
187
+ # If a block is passed, chunks of output produced by Docker will be passed
188
+ # to that block.
189
+ def build_from_dir(dir, opts = {}, connection = Docker.connection,
190
+ creds = nil, &block)
191
+
192
+ tar = Docker::Util.create_dir_tar(dir)
193
+ build_from_tar tar, opts, connection, creds, &block
194
+ ensure
195
+ unless tar.nil?
196
+ tar.close
197
+ FileUtils.rm(tar.path, force: true)
190
198
  end
191
199
  end
200
+ end
192
201
 
193
202
  private
194
203
 
@@ -1,6 +1,6 @@
1
1
  module Docker
2
2
  # The version of the docker-api gem.
3
- VERSION = '1.13.3'
3
+ VERSION = '1.13.4'
4
4
 
5
5
  # The version of the compatible Docker remote API.
6
6
  API_VERSION = '1.12'
metadata CHANGED
@@ -1,74 +1,84 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.3
4
+ version: 1.13.4
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: 2014-09-25 00:00:00.000000000 Z
12
+ date: 2014-09-29 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.38.0
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.38.0
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
@@ -76,6 +86,7 @@ dependencies:
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
@@ -83,85 +94,97 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: rspec-its
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: cane
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: pry
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - '>='
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
133
  version: '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: '0'
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: vcr
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
- - - '>='
147
+ - - ! '>='
130
148
  - !ruby/object:Gem::Version
131
149
  version: 2.7.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: 2.7.0
139
158
  - !ruby/object:Gem::Dependency
140
159
  name: simplecov
141
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
142
162
  requirements:
143
- - - '>='
163
+ - - ! '>='
144
164
  - !ruby/object:Gem::Version
145
165
  version: '0'
146
166
  type: :development
147
167
  prerelease: false
148
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
149
170
  requirements:
150
- - - '>='
171
+ - - ! '>='
151
172
  - !ruby/object:Gem::Version
152
173
  version: '0'
153
174
  - !ruby/object:Gem::Dependency
154
175
  name: webmock
155
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
156
178
  requirements:
157
- - - '>='
179
+ - - ! '>='
158
180
  - !ruby/object:Gem::Version
159
181
  version: '0'
160
182
  type: :development
161
183
  prerelease: false
162
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
163
186
  requirements:
164
- - - '>='
187
+ - - ! '>='
165
188
  - !ruby/object:Gem::Version
166
189
  version: '0'
167
190
  description: A simple REST client for the Docker Remote API
@@ -272,26 +295,27 @@ files:
272
295
  homepage: https://github.com/swipely/docker-api
273
296
  licenses:
274
297
  - MIT
275
- metadata: {}
276
298
  post_install_message:
277
299
  rdoc_options: []
278
300
  require_paths:
279
301
  - lib
280
302
  required_ruby_version: !ruby/object:Gem::Requirement
303
+ none: false
281
304
  requirements:
282
- - - '>='
305
+ - - ! '>='
283
306
  - !ruby/object:Gem::Version
284
307
  version: '0'
285
308
  required_rubygems_version: !ruby/object:Gem::Requirement
309
+ none: false
286
310
  requirements:
287
- - - '>='
311
+ - - ! '>='
288
312
  - !ruby/object:Gem::Version
289
313
  version: '0'
290
314
  requirements: []
291
315
  rubyforge_project:
292
- rubygems_version: 2.0.14
316
+ rubygems_version: 1.8.23.2
293
317
  signing_key:
294
- specification_version: 4
318
+ specification_version: 3
295
319
  summary: A simple REST client for the Docker Remote API
296
320
  test_files:
297
321
  - spec/docker/connection_spec.rb
@@ -370,4 +394,3 @@ test_files:
370
394
  - 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
371
395
  - spec/vcr/Docker_Image/_search/materializes_each_Image_into_a_Docker_Image.yml
372
396
  - spec/vcr/Docker_Image/_tag/tags_the_image_with_the_repo_name.yml
373
- has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: fde443a387e40356f6eb1ba8c39721ee43b9ada4
4
- data.tar.gz: b1eae14c8c69cb9a8aa62d7f661ccc9a31ab37a7
5
- SHA512:
6
- metadata.gz: 97126faabbb3b0742e40678e83d4362140bf013f26bf4a6557190b1d4e3778045b66fd1787e97379172b8ed561b7cb6516aaebcc809e35be0ffe140840684b1f
7
- data.tar.gz: 4bd7b4f96e95e5d3c1a0caebacda75c251040bc372560f4a9300feba4bb84332c67c08524def10807fbe9b834e30effcc1e7db48cb29bc974fdc7ff2e0d9a25d