module Lita::External::CLI

Public Instance Methods

load_lita_config(options) click to toggle source
# File lib/lita/external/cli.rb, line 31
def load_lita_config(options)
  require options[:config_file]
end
parse_options(argv) click to toggle source
# File lib/lita/external/cli.rb, line 8
def parse_options(argv)
  config = {config_file: 'lita_config.rb'}
  parser = OptionParser.new do |opts|
    opts.banner = "Standalone daemon to run a lita adapter"
    opts.separator ""
    opts.separator "Usage: messenger [options]"
    opts.separator ""
    opts.separator "Main options:"

    opts.on("-c", "--config FILE", "Lita config file to load") do |file|
      config[:config_file] = File.expand_path(file)
    end

    opts.on("-a", "--adapter ADAPTER", "Lita adapter to use") do |adapter|
      config[:adapter] = adapter.to_sym
    end
  end

  parser.parse(argv)

  config
end
run(argv) click to toggle source
# File lib/lita/external/cli.rb, line 51
def run(argv)
  options = parse_options(argv)
  load_lita_config(options)
  set_adapter(options)
  robot = Lita::External::Robot.new
  p robot.send(:adapter)
  robot.run
  0
end
set_adapter(options) click to toggle source
# File lib/lita/external/cli.rb, line 35
def set_adapter(options)
  if options[:adapter]
    Lita.config.robot.adapter = options[:adapter]
  end

  if Lita.config.robot.adapter == :external || Lita.config.robot.adapter == 'external'
    STDERR.puts "You must specify the adapter to use"
    exit 1
  end

  begin
    require "lita-#{Lita.config.robot.adapter}"
  rescue LoadError
  end
end