Class: Indocker::Images::Image
- Inherits:
-
Object
- Object
- Indocker::Images::Image
- Defined in:
- lib/indocker/images/image.rb
Instance Attribute Summary collapse
-
#build_args ⇒ Object
readonly
Returns the value of attribute build_args.
-
#dependent_images ⇒ Object
readonly
Returns the value of attribute dependent_images.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #add_dependent_image(image) ⇒ Object
- #after_build ⇒ Object
- #before_build ⇒ Object
- #build_context ⇒ Object
- #dockerfile ⇒ Object
- #image_name ⇒ Object
-
#initialize(name) ⇒ Image
constructor
A new instance of Image.
- #local_registry_url ⇒ Object
- #registry ⇒ Object
- #registry_url ⇒ Object
- #set_after_build(proc) ⇒ Object
- #set_before_build(proc) ⇒ Object
- #set_build_args(opts) ⇒ Object
- #set_build_context(path) ⇒ Object
- #set_dockerfile(path) ⇒ Object
- #set_registry(registry) ⇒ Object
- #set_tag(tag) ⇒ Object
- #tag ⇒ Object
Constructor Details
#initialize(name) ⇒ Image
Returns a new instance of Image.
6 7 8 9 10 |
# File 'lib/indocker/images/image.rb', line 6 def initialize(name) @name = name @dependent_images = [] @build_args = {} end |
Instance Attribute Details
#build_args ⇒ Object (readonly)
Returns the value of attribute build_args.
4 5 6 |
# File 'lib/indocker/images/image.rb', line 4 def build_args @build_args end |
#dependent_images ⇒ Object (readonly)
Returns the value of attribute dependent_images.
3 4 5 |
# File 'lib/indocker/images/image.rb', line 3 def dependent_images @dependent_images end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
2 3 4 |
# File 'lib/indocker/images/image.rb', line 2 def name @name end |
Instance Method Details
#add_dependent_image(image) ⇒ Object
83 84 85 |
# File 'lib/indocker/images/image.rb', line 83 def add_dependent_image(image) @dependent_images.push(image) if !@dependent_images.include?(image) end |
#after_build ⇒ Object
64 65 66 |
# File 'lib/indocker/images/image.rb', line 64 def after_build @after_build end |
#before_build ⇒ Object
56 57 58 |
# File 'lib/indocker/images/image.rb', line 56 def before_build @before_build end |
#build_context ⇒ Object
48 49 50 |
# File 'lib/indocker/images/image.rb', line 48 def build_context @build_context end |
#dockerfile ⇒ Object
40 41 42 |
# File 'lib/indocker/images/image.rb', line 40 def dockerfile @dockerfile || (raise ArgumentError.new("Dockerfile path is not set for image :#{@name}")) end |
#image_name ⇒ Object
12 13 14 |
# File 'lib/indocker/images/image.rb', line 12 def image_name "#{@name}_image" end |
#local_registry_url ⇒ Object
78 79 80 81 |
# File 'lib/indocker/images/image.rb', line 78 def local_registry_url url = File.join(registry.repository_name.to_s, image_name) "#{url}:#{tag}" end |
#registry ⇒ Object
32 33 34 |
# File 'lib/indocker/images/image.rb', line 32 def registry @registry || (raise ArgumentError.new("registry is not set for image :#{@name}")) end |
#registry_url ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/indocker/images/image.rb', line 68 def registry_url url = if registry.is_local? File.join(registry.repository_name.to_s, image_name) else File.join(registry.url, registry.repository_name.to_s, image_name) end "#{url}:#{tag}" end |
#set_after_build(proc) ⇒ Object
60 61 62 |
# File 'lib/indocker/images/image.rb', line 60 def set_after_build(proc) @after_build = proc end |
#set_before_build(proc) ⇒ Object
52 53 54 |
# File 'lib/indocker/images/image.rb', line 52 def set_before_build(proc) @before_build = proc end |
#set_build_args(opts) ⇒ Object
24 25 26 |
# File 'lib/indocker/images/image.rb', line 24 def set_build_args(opts) @build_args = opts end |
#set_build_context(path) ⇒ Object
44 45 46 |
# File 'lib/indocker/images/image.rb', line 44 def set_build_context(path) @build_context = path end |
#set_dockerfile(path) ⇒ Object
36 37 38 |
# File 'lib/indocker/images/image.rb', line 36 def set_dockerfile(path) @dockerfile = path end |
#set_registry(registry) ⇒ Object
28 29 30 |
# File 'lib/indocker/images/image.rb', line 28 def set_registry(registry) @registry = registry end |
#set_tag(tag) ⇒ Object
16 17 18 |
# File 'lib/indocker/images/image.rb', line 16 def set_tag(tag) @tag = tag end |
#tag ⇒ Object
20 21 22 |
# File 'lib/indocker/images/image.rb', line 20 def tag @tag || (raise ArgumentError.new("tag is not set for image :#{@name}")) end |