class Retjilp::Runner
Public Class Methods
new(argv)
click to toggle source
# File lib/retjilp/runner.rb, line 12 def initialize(argv) # Parse command-line options OptionParser.new do |opts| opts.banner = "Usage: retjilp [ --help ] [ --verbose | --debug ]" opts.on("--verbose", "Run with verbose output") { Retjilp::log.level = Logger::INFO } opts.on("--debug", "Run with debug output") { Retjilp::log.level = Logger::DEBUG } opts.on_tail("-h", "--help", "Show this help") { puts opts ; exit } begin opts.parse!(argv) rescue => e fatal_error("Invalid option(s): #{e.message}\n" + opts.to_s) end end # Parse config file config_filename = File.join(DATA_DIR, "config") begin @options = File.open(config_filename) { |f| JSON.load(f) } rescue => e fatal_error("Error parsing configuration file #{config_filename}: #{e.message}") end # Convert keys to symbols @options = @options.inject({}){|m,(k,v)| m[k.to_sym] = v; m} end
Public Instance Methods
run()
click to toggle source
# File lib/retjilp/runner.rb, line 38 def run consumer_key = (@options[:consumer_key] or fatal_error("Consumer key missing")) consumer_secret = (@options[:consumer_secret] or fatal_error("Consumer secret missing")) twitter = Twitter.new(@options[:consumer_key], @options[:consumer_secret]) Retweeter.new(twitter, @options).run end
Private Instance Methods
fatal_error(msg)
click to toggle source
# File lib/retjilp/runner.rb, line 46 def fatal_error(msg) STDERR.puts msg exit(-1) end