class Rum::Docker::Image
Docker
image object.
Public Class Methods
new(name:, registry:nil, username:nil, tag:nil, &block)
click to toggle source
Initialize image by reference component. Evaluates &block
if given.
# File lib/rumrunner/docker.rb, line 249 def initialize(name:, registry:nil, username:nil, tag:nil, &block) @registry = registry @username = username @name = name @tag = tag instance_eval(&block) if block_given? end
parse(string_or_symbol)
click to toggle source
Parse a string as a Docker
image reference
Example:
Image.parse("image") Image.parse("image:tag") Image.parse("username/image") Image.parse("username/image:tag") Image.parse("registry:5000/username/image") Image.parse("registry:5000/username/image:tag")
# File lib/rumrunner/docker.rb, line 295 def parse(string_or_symbol) string = string_or_symbol.to_s slash_count = string.count("/") # image[:tag] if slash_count.zero? name, tag = string.split(/:/) new name: name, tag: tag # username/image[:tag] elsif slash_count == 1 username, name_tag = string.split(/\//) name, tag = name_tag.split(/:/) new name: name, username: username, tag: tag # registry/username/image[:tag] else registry, username, name_tag = string.split(/\//) name, tag = name_tag.split(/:/) new name: name, registry: registry, username: username, tag: tag end end
Public Instance Methods
each() { |x| ... }
click to toggle source
Yield each non-nil component of the image reference in order.
# File lib/rumrunner/docker.rb, line 259 def each [@registry, @username, @name, @tag || :latest].compact.each{|x| yield x.to_s } end
family()
click to toggle source
Get the image reference without the @tag component.
# File lib/rumrunner/docker.rb, line 265 def family File.join(*[@registry, @username, @name].compact.map(&:to_s)) end
inspect()
click to toggle source
Show handle
# File lib/rumrunner/docker.rb, line 271 def inspect handle = @tag.nil? || @tag.to_sym == :latest ? family : to_s "#<#{self.class.name}[#{handle}]>" end
registry()
click to toggle source
Access components of the image reference by method.
# File lib/rumrunner/docker.rb, line 244 attr_method_accessor :registry, :username, :name, :tag
to_s()
click to toggle source
Convert the image reference to string.
# File lib/rumrunner/docker.rb, line 278 def to_s "#{family}:#{@tag || :latest}" end