Sha256: 934967c700a55df1a9b69315824dd472b245e923e9bda46ded86c60bd17f7f1f
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
require "optparse" module Johnson #:nodoc: module CLI #:nodoc: class Options #:nodoc: class << self alias_method :parse!, :new end attr_reader :expressions, :load_paths, :files_to_preload, :file_to_evaluate, :arguments def initialize(*args) argv = args.flatten @expressions = [] @load_paths = [] @files_to_preload = [] parser = OptionParser.new do |parser| parser.banner = "Usage: johnson [options] [file.js] [-- jsargs]" parser.version = Johnson::VERSION parser.on("-e [EXPRESSION]", "Evaluate [EXPRESSION] and exit") do |expression| @expressions << expression end parser.on("-I [DIRECTORY]", "Specify $LOAD_PATH directories") do |dir| @load_paths << dir end parser.on("-i [FILE]", "Evaluate [FILE] before interaction") do |file| @files_to_preload << file end parser.on("-i [FILE]", "Evaluate [FILE] before interaction") do |file| @files_to_preload << file end parser.on("-h", "-?", "--help", "Show this message") do puts parser exit end parser.on("-v", "--version", "Show Johnson's version (#{Johnson::VERSION})") do puts Johnson::VERSION exit end end parser.parse!(argv) @file_to_evaluate = argv.shift @arguments = argv.dup end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jbarnette-johnson-1.0.0.200806240111 | lib/johnson/cli/options.rb |