class Napa::CLI::Base

Public Instance Methods

app_name() click to toggle source
# File lib/napa/cli/base/new.rb, line 33
def app_name
  @name
end
app_path() click to toggle source
# File lib/napa/cli/base/new.rb, line 37
def app_path
  @path
end
console(environment = nil) click to toggle source
# File lib/napa/cli/base/console.rb, line 7
def console(environment = nil)
  Napa.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/napa/cli/base/deploy.rb, line 9
def deploy(environment)
  if options[:confirm] || yes?('Are you sure you want to deploy this service?', Thor::Shell::Color::YELLOW)
    deploy = Napa::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
new(name, path = nil) click to toggle source
# File lib/napa/cli/base/new.rb, line 15
def new(name, path = nil)
  say 'Generating scaffold...'

  @name = name
  @path = path

  @database_gem       = postgres? ? 'pg'         : 'mysql2'
  @database_adapter   = postgres? ? 'postgresql' : 'mysql2'
  @database_encoding  = postgres? ? 'unicode'    : 'utf8'
  @database_user      = postgres? ? ''           : 'root'

  directory ".", (path || name)

  say 'Done!', :green
end
postgres?() click to toggle source
# File lib/napa/cli/base/new.rb, line 41
def postgres?
  %w[pg postgres].include?(options[:database])
end
server() click to toggle source
# File lib/napa/cli/base/server.rb, line 7
def server
  puts "Napa server starting..."

  require 'pty'
  exit = "... Napa 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/napa/cli/base/version.rb, line 8
def version
  say Napa::VERSION
end