class DkComposer::Service
Attributes
fields[RW]
image[RW]
name[RW]
Public Class Methods
create(name,*params,**opts, &block)
click to toggle source
# File lib/dkcomposer/service.rb, line 66 def self.create(name,*params,**opts, &block) ret = Service.new(name) ret.config opts ret.instance_exec(*params,&block) if block ret end
new(name)
click to toggle source
# File lib/dkcomposer/service.rb, line 8 def initialize(name) @name = name @fields={} end
Public Instance Methods
run()
click to toggle source
# File lib/dkcomposer/service.rb, line 33 def run s=stack(:tmp_stack) s.config service: self.name s.run("-d") end
to_h()
click to toggle source
# File lib/dkcomposer/service.rb, line 26 def to_h ret={image: @image.repo} ret.merge!(@fields) ret={"#{name}":ret} ret.stringfy_key end
to_s()
click to toggle source
# File lib/dkcomposer/service.rb, line 43 def to_s image_name=if @image.name.is_a?(Symbol) @image.name.to_colon_s else %Q{"#{@image.name}"} end ret=<<-DUMP service(:#{name}) do image #{image_name} #{ fields.map do |(k,v)| v=v.to_quote_s if v.is_a?(String) v=v.map{|a| "\"#{a}\""}.join(",") if v.is_a?(Array) v=v.to_flatten_s if v.is_a?(Hash) "#{k} #{v.to_s}" end.join("\n") } end DUMP ret end
Also aliased as: dump
to_yaml()
click to toggle source
# File lib/dkcomposer/service.rb, line 39 def to_yaml to_h.to_yaml end