Sha256: 60afa89a9028994c70054058372c0868bf6eb4e0cd474038d7e504f0c8b71002
Contents?: true
Size: 907 Bytes
Versions: 3
Compression:
Stored size: 907 Bytes
Contents
require 'chronic' module OptimistXL # Option for dates using Chronic gem. # Mainly for compatibility with Optimist. # Use of Chronic switches to United States formatted # dates (MM/DD/YYYY) as opposed to DD/MM/YYYY class ChronicDateOption < Option register_alias :chronic_date register_alias :'chronic::date' def type_format ; "=<date>" ; end def parse(paramlist, _neg_given) paramlist.map do |pg| pg.map do |param| parse_date_param(param) end end end private def parse_date_param(param) if param.respond_to?(:year) and param.respond_to?(:month) and param.respond_to(:day) return Date.new(param.year, param.month, param.day) end time = Chronic.parse(param) time ? Date.new(time.year, time.month, time.day) : Date.parse(param) rescue ArgumentError raise CommandlineError, "option '#{self.name}' needs a valid date" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
optimist_xl-3.3.0 | lib/optimist_xl/chronic.rb |
optimist_xl-3.2.0 | lib/optimist_xl/chronic.rb |
optimist_xl-3.1.1 | lib/optimist_xl/chronic.rb |