Module: Jun::CLI

Defined in:
lib/jun/cli.rb,
lib/jun/cli/commands/new.rb,
lib/jun/cli/commands/base.rb,
lib/jun/cli/commands/server.rb,
lib/jun/cli/commands/db/drop.rb,
lib/jun/cli/commands/db/seed.rb,
lib/jun/cli/commands/version.rb,
lib/jun/cli/commands/db/create.rb,
lib/jun/cli/commands/db/migrate.rb,
lib/jun/cli/commands/db/rollback.rb,
lib/jun/cli/commands/db/schema/dump.rb,
lib/jun/cli/commands/db/schema/load.rb,
lib/jun/cli/commands/generate/migration.rb

Defined Under Namespace

Modules: Commands

Constant Summary collapse

COMMAND_KLASSES =
[
  Jun::CLI::Commands::New,
  Jun::CLI::Commands::DB::Create,
  Jun::CLI::Commands::DB::Migrate,
  Jun::CLI::Commands::DB::Rollback,
  Jun::CLI::Commands::DB::Seed,
  Jun::CLI::Commands::DB::Drop,
  Jun::CLI::Commands::DB::Schema::Dump,
  Jun::CLI::Commands::DB::Schema::Load,
  Jun::CLI::Commands::Generate::Migration,
  Jun::CLI::Commands::Server,
  Jun::CLI::Commands::Version
].freeze

Class Method Summary collapse

Class Method Details

.process_command(argv) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/jun/cli.rb', line 24

def process_command(argv)
  command_name = argv.shift
  command_klass = COMMAND_KLASSES.find { |klass| klass.command_name == command_name }
  abort("Command \"#{command_name}\" not found.") if command_klass.nil?

  command_klass.new.process(*argv)
end