class KuberKit::Core::ServiceDefinition
Attributes
dependencies[R]
service_name[R]
template_name[R]
Public Class Methods
new(service_name)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 5 def initialize(service_name) @service_name = service_name.to_sym @dependencies = [] end
Public Instance Methods
attributes(value = nil, &block)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 45 def attributes(value = nil, &block) @attributes = block_given? ? block : value self end
depends_on(*value, &block)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 22 def depends_on(*value, &block) @dependencies = Array(value).flatten self end
deployer_strategy(value = nil, &block)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 51 def deployer_strategy(value = nil, &block) @deployer_strategy = block_given? ? block : value self end
images(*value, &block)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 39 def images(*value, &block) @images = block_given? ? block : Array(value).flatten self end
template(value = nil, &block)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 27 def template(value = nil, &block) @template_name = block_given? ? block : value self end
to_service_attrs()
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 10 def to_service_attrs OpenStruct.new( name: @service_name, dependencies: @dependencies, template_name: get_value(@template_name), tags: Array(get_value(@tags)).map(&:to_sym), images: Array(get_value(@images)).map(&:to_sym), attributes: get_value(@attributes), deployer_strategy: get_value(@deployer_strategy), ) end
Private Instance Methods
get_value(variable)
click to toggle source
# File lib/kuber_kit/core/service_definition.rb, line 58 def get_value(variable) variable.is_a?(Proc) ? variable.call : variable end