Class: Holodekk::Image::Instructions::Add

Inherits:
Builder::Instruction show all
Defined in:
lib/holodekk/image/instructions/add.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Builder::Instruction

#as_json, instruction_tag, tag, #tag, #to_json

Instance Attribute Details

#checksumObject

Returns the value of attribute checksum.



7
8
9
# File 'lib/holodekk/image/instructions/add.rb', line 7

def checksum
  @checksum
end

#chownObject

Returns the value of attribute chown.



7
8
9
# File 'lib/holodekk/image/instructions/add.rb', line 7

def chown
  @chown
end

#keep_git_dirObject Also known as: keep_git_dir?

Returns the value of attribute keep_git_dir.



7
8
9
# File 'lib/holodekk/image/instructions/add.rb', line 7

def keep_git_dir
  @keep_git_dir
end

Returns the value of attribute link.



7
8
9
# File 'lib/holodekk/image/instructions/add.rb', line 7

def link
  @link
end

#sourcesObject

Returns the value of attribute sources.



7
8
9
# File 'lib/holodekk/image/instructions/add.rb', line 7

def sources
  @sources
end

#targetObject

Returns the value of attribute target.



7
8
9
# File 'lib/holodekk/image/instructions/add.rb', line 7

def target
  @target
end

Class Method Details

.build(sources, target, **kwargs) ⇒ Object



18
19
20
21
# File 'lib/holodekk/image/instructions/add.rb', line 18

def self.build(sources, target, **kwargs)
  s = *sources
  new({ sources: s, target: target }.merge(kwargs))
end

Instance Method Details

#to_dockerfileObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/holodekk/image/instructions/add.rb', line 23

def to_dockerfile
  builder = Docker::Dockerfile::InstructionBuilder.new(self)
  builder.flag('link', link)
  builder.flag('keep-git-dir', keep_git_dir, display_state: true)
  add_option(builder, 'chown')
  add_option(builder, 'checksum')
  builder.value_list(*sources.map do |s|
    Docker::Dockerfile::InstructionBuilder::QuotedString.new(s)
  end)
  builder.quoted_string(target)
  builder.output
end