Class: Lexicon::Cli::Extension::ProductionExtension

Inherits:
ExtensionBase
  • Object
show all
Defined in:
lib/lexicon/cli/extension/production_extension.rb

Constant Summary collapse

DATABASE_URL =
make_parameter('database_url')
DATABASE =
make_definition('database', factory(Lexicon::Common::Database::Factory, :new_instance), url: DATABASE_URL)

Instance Method Summary collapse

Instance Method Details

#boot(container) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/lexicon/cli/extension/production_extension.rb', line 13

def boot(container)
  register_parameters(
    container,
    {
      DATABASE_URL => database_url
    }
  )

  container.add_definition(Lexicon::Common::Production::FileLoader) do
    args(shell: Lexicon::Common::ShellExecutor, database_url: ProductionExtension::DATABASE_URL)
  end
  container.add_definition(Lexicon::Common::Production::DatasourceLoader) do
    args(
      shell: Lexicon::Common::ShellExecutor,
      database_factory: Lexicon::Common::Database::Factory,
      file_loader: Lexicon::Common::Production::FileLoader,
      database_url: ProductionExtension::DATABASE_URL
    )
  end
  container.add_definition(DATABASE)
end

#commandsObject



35
36
37
38
39
40
# File 'lib/lexicon/cli/extension/production_extension.rb', line 35

def commands
  proc do
    desc 'production', 'Production related commands'
    subcommand 'production', Command::ProductionCommand
  end
end