class KuberKit::Core::ImageDefinition

Attributes

after_build_callback[R]
before_build_callback[R]
build_context_dir[R]
build_vars[R]
dependencies[R]
dockerfile_path[R]
image_name[R]
path[R]
registry_name[R]
tag[R]

Public Class Methods

new(image_name, image_dir) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 8
def initialize(image_name, image_dir)
  @image_name   = image_name.to_sym
  @image_dir    = image_dir
  @dependencies = []
end

Public Instance Methods

after_build(lambda_arg = nil, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 77
def after_build(lambda_arg = nil, &block)
  @after_build_callback = lambda_arg || block

  self
end
before_build(lambda_arg = nil, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 71
def before_build(lambda_arg = nil, &block)
  @before_build_callback = lambda_arg || block

  self
end
build_args(value = nil, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 46
def build_args(value = nil, &block)
  unless KuberKit.deprecation_warnings_disabled?
    puts "WARNING: build_args is deprecated, please use build_vars instead"
  end
  build_vars(value, *block)
end
build_context(value = nil, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 59
def build_context(value = nil, &block)
  @build_context_dir = block_given? ? block : value

  self
end
depends_on(*value, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 29
def depends_on(*value, &block)
  @dependencies = Array(value).flatten
  self
end
dockerfile(value = nil, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 40
def dockerfile(value = nil, &block)
  @dockerfile_path = block_given? ? block : value

  self
end
registry(value = nil, &block) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 34
def registry(value = nil, &block)
  @registry_name = block_given? ? block : value

  self
end
to_image_attrs() click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 14
def to_image_attrs
  OpenStruct.new(
    name:                   @image_name,
    dir:                    @image_dir,
    dependencies:           @dependencies,
    registry_name:          get_value(@registry_name),
    dockerfile_path:        get_value(@dockerfile_path),
    build_vars:             get_value(@build_vars),
    build_context_dir:      get_value(@build_context_dir),
    tag:                    get_value(@tag),
    before_build_callback:  @before_build_callback,
    after_build_callback:   @after_build_callback
  )
end

Private Instance Methods

get_value(variable) click to toggle source
# File lib/kuber_kit/core/image_definition.rb, line 84
def get_value(variable)
  variable.is_a?(Proc) ? variable.call : variable
end