Module: Rsodx::Cli

Extended by:
Dry::CLI::Registry
Defined in:
lib/rsodx/cli/cli.rb,
lib/rsodx/cli/commands/generator.rb,
lib/rsodx/cli/commands/generators/migration.rb
more...

Defined Under Namespace

Modules: Commands Classes: Generator

Class Method Summary collapse

Class Method Details

.register_commands_with_alias(group:, alias_prefix:, commands:) ⇒ Object

[View source]

43
44
45
46
47
48
49
50
51
# File 'lib/rsodx/cli/cli.rb', line 43

def self.register_commands_with_alias(group:, alias_prefix:, commands:)
  commands.each do |name, klass|
    full_name = group && !group.empty? ? "#{group} #{name}" : name
    alias_name = alias_prefix && !alias_prefix.empty? ? "#{alias_prefix} #{name}" : name

    register full_name.strip, klass
    register alias_name.strip, klass
  end
end

.setup!Object

[View source]

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rsodx/cli/cli.rb', line 11

def self.setup!
  register_commands_with_alias(
    group: "",
    alias_prefix: "",
    commands: {
      "new" => ::Rsodx::Cli::Commands::Scaffold,
      "n"   => ::Rsodx::Cli::Commands::Scaffold
    }
  )

  register_commands_with_alias(
    group: "generate",
    alias_prefix: "g",
    commands: {
      "migration" => ::Rsodx::Cli::Commands::Generators::Migration,
      "controller" => ::Rsodx::Cli::Commands::Generators::Controller,
      "presenter"  => ::Rsodx::Cli::Commands::Generators::Presenter,
      "serializer" => ::Rsodx::Cli::Commands::Generators::Serializer,
      "action"     => ::Rsodx::Cli::Commands::Generators::Action
    }
  )

  register_commands_with_alias(
    group: "",
    alias_prefix: "",
    commands: {
      "server" => ::Rsodx::Cli::Commands::Server,
      "s"      => ::Rsodx::Cli::Commands::Server
    }
  )
end