class Bkmrq::Cli
Public Class Methods
new(args)
click to toggle source
# File lib/bkmrq/cli.rb, line 12 def initialize(args) @opts = {} option_parser.parse!(default_args(sanitize_args(args)), into: @opts) init_app if opts_valid? end
Private Instance Methods
default_args(args)
click to toggle source
# File lib/bkmrq/cli.rb, line 44 def default_args(args) args.empty? ? ['-H'] : args end
init_app()
click to toggle source
# File lib/bkmrq/cli.rb, line 20 def init_app Bkmrq::App.new( **@opts.slice(*Bkmrq::Manual.options_specs.map(&:last)) ).export! end
option_parser()
click to toggle source
# File lib/bkmrq/cli.rb, line 26 def option_parser @option_parser ||= OptionParser.new do |args| # Option Parsing Bkmrq::Manual.options_specs.map do |option_spec| option_key = option_spec.pop args.on(*option_spec) { |input| @opts[option_key] = input } end # Manual Printing args.banner = Bkmrq::Manual::BANNER args.on_tail('-H', '--help', 'Bkmrq Manual') { puts args } end end
opts_valid?()
click to toggle source
# File lib/bkmrq/cli.rb, line 48 def opts_valid? !@opts.key?(:help) end
sanitize_args(args)
click to toggle source
# File lib/bkmrq/cli.rb, line 40 def sanitize_args(args) args.reject(&:empty?).map(&:scrub).map(&:split).flatten end