class Gisha::Commands::Deploy
Attributes
app_name[RW]
key_id[RW]
revision[RW]
url[RW]
Public Class Methods
new(url, key_id, app_name, revision)
click to toggle source
# File lib/gisha/commands/deploy.rb, line 7 def initialize(url, key_id, app_name, revision) @url = url @key_id = key_id @app_name = app_name @revision = revision end
Public Instance Methods
exec()
click to toggle source
# File lib/gisha/commands/deploy.rb, line 14 def exec EM.run do source = EventMachine::EventSource.new(deploy_url) source.inactivity_timeout = 180 source.on('start') do |message| write(message) end source.on('chunk') do |message| write(message) end source.on('stop') do |message| write(message) source.close EM.stop end source.error do |error| write(error) source.close EM.stop raise ArgumentError, error end source.start end end
Private Instance Methods
deploy_url()
click to toggle source
# File lib/gisha/commands/deploy.rb, line 48 def deploy_url "#{url}?key_id=#{key_id}&app_name=#{app_name}&revision=#{revision}" end
repo_name()
click to toggle source
# File lib/gisha/commands/deploy.rb, line 52 def repo_name repo_path.split('/').last end
write(msg)
click to toggle source
# File lib/gisha/commands/deploy.rb, line 56 def write(msg) @stdout ||= begin $stdout.sync = true $stdout end @stdout.write msg end