docker-porcelain 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7efd63b3850efd8d08d78ecb5415b1b0d605909d
4
- data.tar.gz: fb88214f6d293cb9a060a75552b20b3924082bd0
3
+ metadata.gz: ae92c062667eac697e5f18d3d950afb557b21130
4
+ data.tar.gz: 9967f41c870b65dd7f0b04af016bb2b939ebf654
5
5
  SHA512:
6
- metadata.gz: f25a8960da2cef4ad5643963aeb3a04ecf40e0c683fd07c9b06df4d8f809e8036b28b31bb6c14c69b7728cf7e6f95a36a0c9288881c74c7af3b7c1d187d91731
7
- data.tar.gz: 27402efb8ed7e69890a1b62a6d9fda38acb9e89b75602009b67f5dbde1e8b3d8972b05b35ecefa6c10f8d45def964bfcd64810a6bda563a0cbfb861c86ad1723
6
+ metadata.gz: 76b59a8f1c8a423833fbc651a654cdc714ee6c96b7260e2cffa23ab4d124a92917dc42301c002d82a982a2514655b001d99a74126b5296a93f8098030910316b
7
+ data.tar.gz: 5239179b59df5a826dfa776348826aa4ce6afbff5a2257f3624309083a9749362ff1253c64c6a57beb41928dcb50d0f540ce65697e4d2dc9b1b765a0d9279370
data/README.md CHANGED
@@ -67,6 +67,9 @@ container.write '/tmp/foo', 'This is the foo file!'
67
67
  ```ruby
68
68
  container.write '/tmp/foo', 'This is the foo file!'
69
69
  container.system 'true' or fail "there's no truth in the container!"
70
+ img = Docker::Image['image:tag'] # => #<Docker::Image:...>
71
+ img.tags # => ['image:tag', 'other:tag']
72
+ Docker::Image.repository 'image' # => #<Docker::Image:...>
70
73
  ```
71
74
 
72
75
  ## Development
@@ -1,5 +1,6 @@
1
1
  require 'docker/porcelain'
2
2
  require 'docker/porcelain/container'
3
+ require 'docker/porcelain/image'
3
4
 
4
5
  require 'docker'
5
6
 
@@ -7,5 +8,9 @@ module Docker
7
8
  class Container
8
9
  include Docker::Porcelain::Container
9
10
  end
11
+
12
+ class Image
13
+ include Docker::Porcelain::Image
14
+ end
10
15
  end
11
16
 
@@ -0,0 +1,35 @@
1
+ module Docker
2
+ module Porcelain
3
+ module Image
4
+ module ClassMethods
5
+ # Get image specified by id
6
+ # @param id [String] identifier of the image to get
7
+ # @return [Docker::Image, nil] image or nil if not found
8
+ def [] id
9
+ Docker::Image.get id
10
+ rescue Docker::Error::NotFoundError
11
+ nil
12
+ end
13
+
14
+ # Get all images from the specified repository (eg. as in 'repository:tag')
15
+ # @param repo [String] repository to look for
16
+ # @return [Array<Docker::Image>] images
17
+ def repository repo
18
+ Docker::Image.all 'filter' => repo
19
+ end
20
+ end
21
+
22
+ # @return [Array<String>] repository tags of the image
23
+ def tags
24
+ # docker returns '<none>:<none>' for an untagged repo
25
+ info['RepoTags'] - ['<none>:<none>']
26
+ end
27
+
28
+ extend ClassMethods
29
+
30
+ def self.included other
31
+ other.extend ClassMethods
32
+ end
33
+ end
34
+ end
35
+ end
@@ -8,5 +8,13 @@ module Docker
8
8
  refine Docker::Container do
9
9
  include Docker::Porcelain::Container
10
10
  end
11
+
12
+ refine Docker::Image do
13
+ include Docker::Porcelain::Image
14
+ end
15
+
16
+ refine Docker::Image.singleton_class do
17
+ include Docker::Porcelain::Image::ClassMethods
18
+ end
11
19
  end
12
20
  end
@@ -1,5 +1,5 @@
1
1
  module Docker
2
2
  module Porcelain
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -1,6 +1,7 @@
1
1
  require "docker/porcelain/version"
2
2
 
3
3
  require 'docker/porcelain/container'
4
+ require 'docker/porcelain/image'
4
5
 
5
6
  module Docker
6
7
  module Porcelain
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-porcelain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafał Rzepecki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-16 00:00:00.000000000 Z
11
+ date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api
@@ -88,6 +88,7 @@ files:
88
88
  - lib/docker/porcelain/container.rb
89
89
  - lib/docker/porcelain/error.rb
90
90
  - lib/docker/porcelain/extensions.rb
91
+ - lib/docker/porcelain/image.rb
91
92
  - lib/docker/porcelain/refinements.rb
92
93
  - lib/docker/porcelain/version.rb
93
94
  homepage: https://github.com/conjurinc/docker-porcelain