Class: Holodekk::Docker::Dockerfile::InstructionBuilder
- Inherits:
-
Object
- Object
- Holodekk::Docker::Dockerfile::InstructionBuilder
show all
- Defined in:
- lib/holodekk/docker/dockerfile/instruction_builder.rb,
lib/holodekk/docker/dockerfile/instruction_builder/flag.rb,
lib/holodekk/docker/dockerfile/instruction_builder/option.rb,
lib/holodekk/docker/dockerfile/instruction_builder/key_pair.rb,
lib/holodekk/docker/dockerfile/instruction_builder/raw_value.rb,
lib/holodekk/docker/dockerfile/instruction_builder/value_list.rb,
lib/holodekk/docker/dockerfile/instruction_builder/value_array.rb,
lib/holodekk/docker/dockerfile/instruction_builder/quoted_string.rb
Defined Under Namespace
Classes: Flag, KeyPair, Option, QuotedString, RawValue, ValueArray, ValueList
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of InstructionBuilder.
17
18
19
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 17
def initialize(instruction = nil)
@tag = instruction.present? ? instruction.class.tag : 'UNKNOWN'
end
|
Instance Attribute Details
#tag ⇒ Object
Returns the value of attribute tag.
15
16
17
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 15
def tag
@tag
end
|
Instance Method Details
#elements ⇒ Object
49
50
51
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 49
def elements
@elements ||= []
end
|
#flag(name, enabled, **kwargs) ⇒ Object
21
22
23
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 21
def flag(name, enabled, **kwargs)
elements << Flag.new(name, enabled, **kwargs)
end
|
#key_pair(key, value, **kwargs) ⇒ Object
25
26
27
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 25
def key_pair(key, value, **kwargs)
elements << KeyPair.new(key, value, **kwargs)
end
|
#option(key, value) ⇒ Object
29
30
31
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 29
def option(key, value)
elements << Option.new(key, value)
end
|
#output ⇒ Object
53
54
55
56
57
58
59
60
61
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 53
def output
chunks = []
chunks << tag
elements.each do |e|
o = e.output
chunks << o unless o.blank?
end
chunks.join(' ')
end
|
#output! ⇒ Object
63
64
65
66
67
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 63
def output!
res = output
elements.clear
res
end
|
#quoted_string(value) ⇒ Object
33
34
35
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 33
def quoted_string(value)
elements << QuotedString.new(value)
end
|
#raw_value(value) ⇒ Object
37
38
39
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 37
def raw_value(value)
elements << RawValue.new(value)
end
|
#value_array(*values) ⇒ Object
41
42
43
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 41
def value_array(*values)
elements << ValueArray.new(*values)
end
|
#value_list(*values) ⇒ Object
45
46
47
|
# File 'lib/holodekk/docker/dockerfile/instruction_builder.rb', line 45
def value_list(*values)
elements << ValueList.new(*values)
end
|