Sha256: 1ec916d4894e35ecd95b6e8d0907d11e069ba66854e4f22e7db746866f0d6161
Contents?: true
Size: 869 Bytes
Versions: 2
Compression:
Stored size: 869 Bytes
Contents
require_relative 'base' module Amsi class AttributeParser # Parse the response value of a date attribute class Date < Base # AMSI responds with multiple date formats. This is one format that # Date.parse will not parse correctly, so we need special handling FORMAT = '%m/%d/%Y'.freeze private_constant :FORMAT # @return [Date] the parsed attribute value def parse return if value == '' if value =~ %r[/] ::Date.strptime(value, FORMAT) else # AMSI sometimes returns 0001-01-01 for dates, which appears to be # their representation of a NULL value. date = ::Date.parse(value) date.year == 1 ? nil : date end rescue ArgumentError raise Error::InvalidResponse, "Invalid date response value: #{value}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
amsi-1.0.1 | lib/amsi/attribute_parser/date.rb |
amsi-1.0.0 | lib/amsi/attribute_parser/date.rb |