Sha256: 5539672cc16b1fbd798700dc57ff9e07b9a132bd5b1b899a350ae3a6d8d7c67a

Contents?: true

Size: 521 Bytes

Versions: 1

Compression:

Stored size: 521 Bytes

Contents

module CheckMot

  class DateAttribute < Attribute

    ATTRIBUTE_REGEX = /_date$/
    DATE_REGEX = /^\d{4}[.-\/]\d{2}[.-\/]\d{2}$/
    TIME_REGEX = /^\d{4}[.-\/]\d{2}[.-\/]\d{2} \d{2}:\d{2}:\d{2}$/

    def self.try(name, value)
      return unless name.to_s.match(ATTRIBUTE_REGEX)

      new(value)
    end

    def value
      raw_val = super
      case raw_val
      when DATE_REGEX
        Date.parse(raw_val)
      when TIME_REGEX
        Time.parse(raw_val)
      else
        raw_val
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
check_mot-0.3.1 lib/check_mot/date_attribute.rb