class ServiceTemplate::CLI::Base

Public Instance Methods

console(environment = nil) click to toggle source
# File lib/service_template/cli.rb, line 36
def console(environment = nil)
  ServiceTemplate.env = environment || 'development'

  require 'racksh/init'

  begin
    require "pry"
    interpreter = Pry
  rescue LoadError
    require "irb"
    require "irb/completion"
    interpreter = IRB
    # IRB uses ARGV and does not expect these arguments.
    ARGV.delete('console')
    ARGV.delete(environment) if environment
  end

  Rack::Shell.init

  $0 = "#{$0} console"
  interpreter.start
end
deploy(environment) click to toggle source
# File lib/service_template/cli.rb, line 83
def deploy(environment)
  if options[:confirm] || yes?('Are you sure you want to deploy this service?', Thor::Shell::Color::YELLOW)
    deploy = ServiceTemplate::Deploy.new(environment, force: options[:force], revision: options[:revision])
    if deploy.deployable?
      say(deploy.deploy!, Thor::Shell::Color::GREEN)
    else
      say("Deploy Failed:\n#{deploy.errors.join("\n")}", Thor::Shell::Color::RED)
    end
  end
end
server() click to toggle source
# File lib/service_template/cli.rb, line 61
def server
  puts "ServiceTemplate server starting..."

  require 'pty'
  exit = "... ServiceTemplate server exited!"

  begin
    PTY.spawn('shotgun') do |stdout, stdin, pid|
      begin
        Signal.trap('INT') { Process.kill('INT', pid) }
        stdout.each { |line| puts line }
      rescue Errno::EIO
        puts exit
      end
    end
  rescue PTY::ChildExited
    puts exit
  end
end
version() click to toggle source
# File lib/service_template/cli.rb, line 30
def version
  say ServiceTemplate::VERSION
end