class CliOptions

Public Class Methods

parse!() { |options| ... } click to toggle source
# File lib/cli_options.rb, line 5
def self.parse!
  options = {}
  OptionParser.new do |opts|
    opts.banner = 'Usage options:'
    opts.on('-k', '--key CONSUMER-KEY', 'Consumer key') { |key| options[:key] = key }
    opts.on('-t', '--token CONSUMER-TOKEN', 'Consumer token') { |token| options[:token] = token }
    opts.on('-d', '--days 30', Integer, 'How many days (default to 30)') { |days| options[:days] = days }
    opts.on('-v', '--version', "Current version") { puts VERSION }
  end.parse!
  errors = check_required_params(options)
  errors.each { |msg| puts msg }
  yield(options) if errors.empty?
end

Private Class Methods

check_required_params(opts) click to toggle source
# File lib/cli_options.rb, line 21
def self.check_required_params(opts)
  errors = []
  errors << "Consumer key required!" if opts[:key].nil? || opts[:key].empty?
  errors << "Consumer token required!" if opts[:token].nil? || opts[:token].empty?
  errors
end