class Gyunyu::Command::Export::Option
Constants
- FIELD_SEP
Attributes
custom_filter[R]
fields[R]
filter[R]
format[R]
lists[R]
show_filter_list[R]
Public Class Methods
new( argv = [] )
click to toggle source
# File lib/gyunyu/command/export/option.rb, line 12 def initialize( argv = [] ) @lists = [] @filter = nil @custom_filter = nil @fields = [] @format = :csv @show_filter_list = false parser.parse( argv ) end
Public Instance Methods
parser()
click to toggle source
# File lib/gyunyu/command/export/option.rb, line 32 def parser OptionParser.new do |opt| opt.on('-l', '--list LIST') { |list| if !@lists.include?( list ) @lists << list end } opt.on('-f', '--filter FILTER') { |filter| @filter = filter if filter.size > 0 } opt.on('-c', '--custom-filter FILTER') { |filter| mod = Module.nesting[1].const_get('CustomFilter') if mod.filter.has_key?( filter ) @custom_filter = filter else raise CustomFilterNotFound end } opt.on('-s', '--custom-filter-list') { |c| @show_filter_list = true } opt.on('-d', '--field FIELD') { |field| if field.include?( FIELD_SEP ) @fields = field.split( FIELD_SEP ) elsif !@fields.include?( field ) @fields << field end } opt.on('-o', '--format FORMAT') { |format| format.downcase! formats = Format.constants.map { |e| e.to_s.downcase } if formats.include?( format ) @format = format else raise FormatNotFound end } end end