Sha256: 2f3070a5267c1895f9be2d253f788a619ca555d28fe2c74e054dcf1e611f1d2e
Contents?: true
Size: 878 Bytes
Versions: 1
Compression:
Stored size: 878 Bytes
Contents
class KuberKit::Core::ServiceDefinition attr_reader :service_name, :template_name Contract Or[Symbol, String] => Any def initialize(service_name) @service_name = service_name.to_sym end def to_service_attrs OpenStruct.new( name: @service_name, template_name: get_value(@template_name), tags: Array(get_value(@tags)).map(&:to_sym), images: Array(get_value(@images)).map(&:to_sym), ) end def template(value = nil, &block) @template_name = block_given? ? block : value self end def tags(*value, &block) @tags = block_given? ? block : Array(value).flatten self end def images(*value, &block) @images = block_given? ? block : Array(value).flatten self end private def get_value(variable) variable.is_a?(Proc) ? variable.call : variable end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kuber_kit-0.1.4 | lib/kuber_kit/core/service_definition.rb |