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

dump()
Alias for: to_s
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