class Snmp2mkr::Cli
Attributes
argv[R]
Public Class Methods
new(argv)
click to toggle source
# File lib/snmp2mkr/cli.rb, line 7 def initialize(argv) @argv = argv.dup end
Public Instance Methods
config()
click to toggle source
# File lib/snmp2mkr/cli.rb, line 66 def config @config ||= Snmp2mkr::Config.from_yaml(File.read(options[:config])) end
do_start()
click to toggle source
# File lib/snmp2mkr/cli.rb, line 26 def do_start parse_argv engine = Engine.new(config, log_level: options[:log_level]) engine.run! end
options()
click to toggle source
# File lib/snmp2mkr/cli.rb, line 58 def options @options ||= { log_level: 'info', config: './config.yml', config_chdir: false, } end
optparse()
click to toggle source
# File lib/snmp2mkr/cli.rb, line 38 def optparse @optparse ||= OptionParser.new do |opt| opt.on('-c YAML', '--config YAML', 'specify configuration file (default ./config.yml)') do |path| options[:config] = path end opt.on('-C', '--chdir-config-dir', 'chdir working directory to same as configuration file (default false)') do |path| options[:config_chdir] = true end opt.on('-c YAML', '--config YAML', 'specify configuration file (default ./config.yml)') do |path| options[:config] = path end opt.on('-l LOGLEVEL', '--log-level LOGLEVEL', 'log level (default "info")') do |l| options[:log_level] = l end end end
parse_argv()
click to toggle source
# File lib/snmp2mkr/cli.rb, line 32 def parse_argv optparse.parse(argv).tap do Dir.chdir(File.dirname(options[:config])) if options[:config_chdir] end end
run()
click to toggle source
# File lib/snmp2mkr/cli.rb, line 13 def run case @argv.shift when 'start' do_start return 0 when 'test' raise NotImplementedError when 'import' raise NotImplementedError else end end