class Maril::Generator
Public Class Methods
new(options={})
click to toggle source
# File lib/maril/generator.rb, line 3 def initialize(options={}) @host = options[:host] || options['host'] @id = options[:id] || options['id'] end
Public Instance Methods
generate()
click to toggle source
# File lib/maril/generator.rb, line 8 def generate app = fetch_app cmd = [ 'docker run --rm -it' ] app['env'].each do |k, v| cmd << "--env #{k}=#{v}" end app['container']['docker']['parameters'].each do |parameter| cmd << "--#{parameter['key']} #{parameter['value']}" end app['container']['docker']['portMappings'].each do |mapping| cmd << "-p #{mapping['containerPort']}:#{mapping['containerPort']}" end cmd << app['container']['docker']['image'] cmd << app['cmd'] if app['cmd'] cmd.join(" \\\n") end
Private Instance Methods
fetch_app()
click to toggle source
# File lib/maril/generator.rb, line 27 def fetch_app res = RestClient.get("#{@host}/v2/apps#{@id}") JSON.parse(res.body)['app'] end