class Arsenicum::CLI

Attributes

arguments[R]
configuration[R]

Public Class Methods

new(arguments) click to toggle source
# File lib/arsenicum/cli.rb, line 9
def initialize(arguments)
  @arguments = arguments
  @configuration = create_configuration
  parse_options arguments
end

Public Instance Methods

boot() click to toggle source
# File lib/arsenicum/cli.rb, line 15
def boot
  create_main.run configuration
end

Private Instance Methods

create_configuration() click to toggle source
# File lib/arsenicum/cli.rb, line 20
def create_configuration
  Arsenicum::Configuration.new
end
create_main() click to toggle source
# File lib/arsenicum/cli.rb, line 24
def create_main
  Arsenicum::Main.new
end
handle_options(opt) click to toggle source
# File lib/arsenicum/cli.rb, line 32
def handle_options(opt)
  opt.on '-c', '--config-file=CONFIG_FILE', 'Specifies configuration file. all other options will be ignored.' do |config_path|
    config_file = File.expand_path config_path
    script = File.read config_file
    configuration.instance_eval script, config_file, 1
  end

  opt.on '-d', '--daemonize' do
    configuration.daemonize
  end

  opt.on '--stdout=PATH' do |v|
    configuration.stdout    v
  end

  opt.on '--stderr=PATH' do |v|
    configuration.stderr    v
  end
end
parse_options(arguments) click to toggle source
# File lib/arsenicum/cli.rb, line 28
def parse_options(arguments)
  OptionParser.new(&method(:handle_options)).parse!(arguments)
end