class ONIX::DateStamp

support for datestamp attribute and SentDateTime

Attributes

datetime[RW]
format[RW]

Public Class Methods

from_code(code) click to toggle source
# File lib/onix/date.rb, line 120
def self.from_code(code)
  ds = self.new
  ds.parse(code)
  ds
end
new(dt = nil, fmt = "%Y%m%d") click to toggle source
# File lib/onix/date.rb, line 96
def initialize(dt = nil, fmt = "%Y%m%d")
  @datetime = dt
  @format = fmt unless @datetime.is_a?(String)
end

Public Instance Methods

code() click to toggle source
# File lib/onix/date.rb, line 130
def code
  @format ? @datetime.strftime(@format) : @datetime
end
human() click to toggle source
# File lib/onix/date.rb, line 126
def human
  @datetime
end
parse(tm) click to toggle source
# File lib/onix/date.rb, line 105
def parse(tm)
  @format = nil
  found_format = nil
  supported_formats.each do |supported_format|
    begin
      @datetime = Time.strptime(tm, supported_format)
      found_format = supported_format
      break
    rescue
    end
  end
  @format = found_format
  @datetime = tm unless @format
end
supported_formats() click to toggle source
# File lib/onix/date.rb, line 101
def supported_formats
  ["%Y%m%dT%H%M%S%z", "%Y%m%dT%H%M%S", "%Y%m%dT%H%M%z", "%Y%m%dT%H%M", "%Y%m%d"]
end