lib/when_exe/region/yerm.rb in when_exe-0.3.6 vs lib/when_exe/region/yerm.rb in when_exe-0.3.7

- old
+ new

@@ -37,30 +37,30 @@ # # Analyze notation with crescent # # @param [String] source Notation with crescents - # @param [Array<Integer>] Upper default elements (default - today's Yerm date) + # @param [Array<Integer>] abbr Upper default elements (default - today's Yerm date) # # @return [String] Notation with hyphens # def self.parse(source, abbr=nil) c, y, m, d = abbr || (When::Yerm^When.today).cal_date case source - when /^(-?\d+)[-\(](\d+)\((\d+)\((\d+)$/; c, y, m, d = [$1, $2, $3, $4] - when /^(-?\d+)-(\d+)\((\d+)$/ ; c, y, m, d = [$1, $2, $3 ] - when /^(-?\d+)-(\d+)$/ ; c, y, m, d = [$1, $2 ] - when /^(-?\d+)-$/ ; c, y, m, d = [$1 ] - when /^(\d+)\((\d+)\((\d+)$/ ; y, m, d = [ $1, $2, $3] - when /^(\d+)\((\d+)$/ ; m, d = [ $1, $2] - when /^(\d+)$/ ; d = $1 + when /\A(-?\d+)[-\(](\d+)\((\d+)\((\d+)\z/; c, y, m, d = [$1, $2, $3, $4] + when /\A(-?\d+)-(\d+)\((\d+)\z/ ; c, y, m, d = [$1, $2, $3 ] + when /\A(-?\d+)-(\d+)\z/ ; c, y, m, d = [$1, $2 ] + when /\A(-?\d+)-\z/ ; c, y, m, d = [$1 ] + when /\A(\d+)\((\d+)\((\d+)\z/ ; y, m, d = [ $1, $2, $3] + when /\A(\d+)\((\d+)\z/ ; m, d = [ $1, $2] + when /\A(\d+)\z/ ; d = $1 - when /^(\d+)\)(\d+)\)(\d+)[-\)](-?\d+)$/; c, y, m, d = [$4, $3, $2, $1] - when /^(\d+)\)(\d+)-(-?\d+)$/ ; c, y, m, d = [$3, $2, $1 ] - when /^(\d+)-(-\d+)$/ ; c, y, m, d = [$2, $1 ] - when /^(-\d+)$/ ; c, y, m, d = [$1 ] - when /^(\d+)\)(\d+)\)(\d+)$/ ; y, m, d = [ $3, $2, $1] - when /^(\d+)\)(\d+)$/ ; m, d = [ $2, $1] + when /\A(\d+)\)(\d+)\)(\d+)[-\)](-?\d+)\z/; c, y, m, d = [$4, $3, $2, $1] + when /\A(\d+)\)(\d+)-(-?\d+)\z/ ; c, y, m, d = [$3, $2, $1 ] + when /\A(\d+)-(-\d+)\z/ ; c, y, m, d = [$2, $1 ] + when /\A(-\d+)\z/ ; c, y, m, d = [$1 ] + when /\A(\d+)\)(\d+)\)(\d+)\z/ ; y, m, d = [ $3, $2, $1] + when /\A(\d+)\)(\d+)\z/ ; m, d = [ $2, $1] else ; c, y, m, d = [ ] end ordered = [c, y, m, d] ordered.pop until ordered.last