Module: PalavaMachine::Runner

Defined in:
lib/palava_machine/runner.rb

Defined Under Namespace

Classes: CliOptions

Constant Summary collapse

<<BANNER

  ###    #     #       #    #   #    #
  #  #  # #    #      # #   #   #   # #
  ###  #   #   #     #   #   # #   #   #
  #    # # #   #     # # #   # #   # # #
  #   #     #  ###  #     #   #   #     #

BANNER

Class Method Summary collapse

Class Method Details

.extract_manager_options(cli_options) ⇒ Object



60
61
62
63
64
# File 'lib/palava_machine/runner.rb', line 60

def extract_manager_options(cli_options)
  {
    db: cli_options.db,
  }
end

.extract_server_options(cli_options) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/palava_machine/runner.rb', line 52

def extract_server_options(cli_options)
  {
    host: cli_options.address,
    port: LocalPort.next_free_one(cli_options.port),
    shutdown_timeout: cli_options.shutdown_timeout,
  }
end

.parse_cli_options(argv = ARGV) ⇒ Object



48
49
50
# File 'lib/palava_machine/runner.rb', line 48

def parse_cli_options(argv = ARGV)
  CliOptions.new(*argv)
end

.run(cli_options = {}) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/palava_machine/runner.rb', line 39

def run(cli_options = {})
  puts BANNER

  PalavaMachine::Server.new(
    PalavaMachine::Manager.new(extract_manager_options(cli_options)),
    extract_server_options(cli_options),
  ).run
end