Class: Feedjira::DateTimeUtilities::DateTimeLanguageParser

Inherits:
Object
  • Object
show all
Defined in:
lib/feedjira/date_time_utilities/date_time_language_parser.rb

Constant Summary collapse

MONTHS_ENGLISH =
%w[Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec].freeze
MONTHS_SPANISH =
%w[Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic].freeze

Class Method Summary collapse

Class Method Details

.parse(string) ⇒ Object



11
12
13
# File 'lib/feedjira/date_time_utilities/date_time_language_parser.rb', line 11

def self.parse(string)
  DateTime.parse(translate(string))
end

.translate(string) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/feedjira/date_time_utilities/date_time_language_parser.rb', line 15

def self.translate(string)
  MONTHS_SPANISH.each_with_index do |m, i|
    rgx = Regexp.new("\s#{m}\s", Regexp::IGNORECASE)
    return string.gsub(rgx, MONTHS_ENGLISH[i]) if string&.match?(rgx)
  end
  raise "No translation found for #{string}"
end