lib/reckon/money.rb in reckon-0.5.0 vs lib/reckon/money.rb in reckon-0.5.1
- old
+ new
@@ -110,62 +110,6 @@
end
end
self
end
end
-
- class DateColumn < Array
- attr_accessor :endian_precedence
- def initialize( arr = [], options = {} )
- arr.each do |value|
- if options[:date_format]
- begin
- value = Date.strptime(value, options[:date_format])
- rescue
- puts "I'm having trouble parsing #{value} with the desired format: #{options[:date_format]}"
- exit 1
- end
- else
- value = [$1, $2, $3].join("/") if value =~ /^(\d{4})(\d{2})(\d{2})\d+\[\d+\:GMT\]$/ # chase format
- value = [$3, $2, $1].join("/") if value =~ /^(\d{2})\.(\d{2})\.(\d{4})$/ # german format
- value = [$3, $2, $1].join("/") if value =~ /^(\d{2})\-(\d{2})\-(\d{4})$/ # nordea format
- value = [$1, $2, $3].join("/") if value =~ /^(\d{4})\-(\d{2})\-(\d{2})$/ # yyyy-mm-dd format
- value = [$1, $2, $3].join("/") if value =~ /^(\d{4})(\d{2})(\d{2})/ # yyyymmdd format
-
-
- unless @endian_precedence # Try to detect endian_precedence
- reg_match = value.match( /^(\d\d)\/(\d\d)\/\d\d\d?\d?/ )
- # If first one is not \d\d/\d\d/\d\d\d?\d set it to default
- if !reg_match
- @endian_precedence = [:middle, :little]
- elsif reg_match[1].to_i > 12
- @endian_precedence = [:little]
- elsif reg_match[2].to_i > 12
- @endian_precedence = [:middle]
- end
- end
- end
- self.push( value )
- end
- # if endian_precedence still nil, raise error
- unless @endian_precedence || options[:date_format]
- raise( "Unable to determine date format. Please specify using --date-format" )
- end
- end
-
- def for( index )
- value = self.at( index )
- guess = Chronic.parse(value, :context => :past,
- :endian_precedence => @endian_precedence )
- if guess.to_i < 953236800 && value =~ /\//
- guess = Chronic.parse((value.split("/")[0...-1] + [(2000 + value.split("/").last.to_i).to_s]).join("/"), :context => :past,
- :endian_precedence => @endian_precedence)
- end
- guess
- end
-
- def pretty_for(index)
- self.for(index).to_date.iso8601
- end
-
- end
end