class EdifactConverter::CommandLineParser
Attributes
options[W]
Public Class Methods
options()
click to toggle source
# File lib/edifact_converter/command_line_parser.rb, line 10 def options @options ||= {} end
parse()
click to toggle source
# File lib/edifact_converter/command_line_parser.rb, line 52 def parse parser.parse! if ARGV.size != 1 puts "Wrong number of arguments, run #{$COMMAND_NAME} -h for a list of possible arguments." exit end options[:input] = Pathname.new ARGV.first unless options[:source] if options[:input].extname =~ /xml/ options[:source] = :xml else options[:source] = :edifact end end options end
parser()
click to toggle source
# File lib/edifact_converter/command_line_parser.rb, line 14 def parser @parser ||= begin OptionParser.new do|opts| opts.banner = "Usage: #{$COMMAND_NAME} [options] file" opts.on( '-x', '--xml', 'Convert from Edifact to XML' ) do options[:source] = :edifact end opts.on( '-e', '--edi', 'Convert from XML to Edifact' ) do options[:source] = :xml end opts.on( '-1', '--xml11', 'Only convert to XML 1-1') do options[:xml11] = true end opts.on( '-f', '--format', 'Format edifact output with newlines') do options[:format] = true end opts.on( '--html', 'Only convert to XML 1-1') do options[:html] = true end opts.on( '-l', '--logfile FILE', 'Write log to FILE' ) do |file| options[:logfile] = file end opts.on( '-o', '--output FILE', 'Write output to FILE' ) do |file| options[:to_file] = file end opts.on( '-v', '--version', "Prints version of #{$COMMAND_NAME}") do puts "#{$COMMAND_NAME} version #{VERSION}" exit end opts.on( '-h', '--help', 'Display this screen' ) do puts opts exit end end end end