Class: Mods::Date::MMDDYYFormat

Inherits:
ExtractorDateFormat show all
Defined in:
lib/mods/date.rb

Overview

Full text extractor for MM/DD/YY-formatted dates

Constant Summary collapse

REGEX =
/(?<month>\d{1,2})\/(?<day>\d{1,2})\/(?<year>\d{2})/

Instance Attribute Summary

Attributes inherited from Mods::Date

#date, #xml

Class Method Summary collapse

Methods inherited from ExtractorDateFormat

supports?

Methods inherited from Mods::Date

#approximate?, #as_range, #encoding, #encoding?, #end?, from_element, #inferred?, #initialize, #key?, parse_date, #point, #precision, #qualifier, #questionable?, #single?, #start?, #text, #to_a, #type

Constructor Details

This class inherits a constructor from Mods::Date

Class Method Details

.munge_to_yyyy(text) ⇒ Object


123
124
125
126
127
128
129
# File 'lib/mods/date.rb', line 123

def self.munge_to_yyyy(text)
  if text.to_i > (::Date.current.year - 2000)
    "19#{text}"
  else
    "20#{text}"
  end
end

.normalize_to_edtf(text) ⇒ Object


117
118
119
120
121
# File 'lib/mods/date.rb', line 117

def self.normalize_to_edtf(text)
  matches = text.match(self::REGEX)
  year = munge_to_yyyy(matches[:year])
  "#{year}-#{matches[:month].rjust(2, "0")}-#{matches[:day].rjust(2, "0")}"
end