Sha256: 0fbf9550cc5219705dbe9ca14758336d9522ed9e4d758533a8a8247aca08dca6

Contents?: true

Size: 975 Bytes

Versions: 2

Compression:

Stored size: 975 Bytes

Contents

require_relative '__base__'
module Eucalypt
  class CLI < Thor
    using Colorize
    desc "console [ENV]", "Interactive console with all files loaded".colorize(:grey)
    def console(env = ENV['APP_ENV']||'development')
      directory = File.expand_path('.')
      if Eucalypt.app? directory
        unless %w[p production d development t test].include? env
          Out.error "Invalid Rack environment #{env.colorize(:bold)}"
          return
        end

        env = map_env env
        cmd = "CONSOLE=true bundle exec irb -r ./app.rb"

        puts "Running command: #{cmd.colorize(:bold)}"
        puts "Rack environment: #{env.colorize(:bold)}"
        exec "env APP_ENV=#{env} #{cmd}"
      else
        Eucalypt::Error.wrong_directory
      end
    end

    no_tasks do
      def map_env(env)
        case env
        when ?p then 'production'
        when ?d then 'development'
        when ?t then 'test'
        else env
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eucalypt-0.9.0 lib/eucalypt/core/cli/console.rb
eucalypt-0.8.0 lib/eucalypt/core/cli/console.rb