Class: Date

Inherits:
Object
  • Object
show all
Defined in:
lib/wareki/std_ext.rb

Overview

:nodoc:

Constant Summary collapse

JAPAN =
Wareki::GREGORIAN_START

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

._parse(str, comp = true) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/wareki/std_ext.rb', line 59

def _parse(str, comp = true)
  return ::Date._wareki__parse_orig(str, comp) if str.to_s.ascii_only?

  str = Wareki::Utils.normalize_time(str)
  str.to_s =~ Wareki::PARSE_QUICK_FILTER or
    return ::Date._wareki__parse_orig(str, comp)
  di = Wareki::Date._parse(str)
  wdate = Wareki::Date.new(di[:era], di[:year], di[:month], di[:day], di[:is_leap])
rescue ArgumentError
  ::Date._wareki__parse_orig(str, comp)
else
  ::Date._wareki__parse_orig(str.sub(Wareki::REGEX, wdate.strftime('%F ')), comp)
end

._wareki__parse_origObject



58
# File 'lib/wareki/std_ext.rb', line 58

alias _wareki__parse_orig _parse

._wareki_parse_origObject



44
# File 'lib/wareki/std_ext.rb', line 44

alias _wareki_parse_orig parse

.parse(str = '-4712-01-01', comp = true, start = ::Date::ITALY) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/wareki/std_ext.rb', line 45

def parse(str = '-4712-01-01', comp = true, start = ::Date::ITALY)
  return ::Date._wareki_parse_orig(str, comp, start) if str.to_s.ascii_only?

  str = Wareki::Utils.normalize_time(str)
  str.to_s =~ Wareki::PARSE_QUICK_FILTER or
    return ::Date._wareki_parse_orig(str, comp, start)
  Wareki::Date.parse(str).to_date(start)
rescue Wareki::InvalidDate
  raise
rescue ArgumentError
  ::Date._wareki_parse_orig(str, comp, start)
end

Instance Method Details

#_wareki_strftime_origObject



36
# File 'lib/wareki/std_ext.rb', line 36

alias _wareki_strftime_orig strftime

#strftime(format = '%F') ⇒ Object



37
38
39
40
41
# File 'lib/wareki/std_ext.rb', line 37

def strftime(format = '%F')
  return _wareki_strftime_orig(format) unless Wareki::StdExt.wareki_directive?(format)

  _wareki_strftime_orig(to_wareki_date.expand_wareki_format(format))
end

#to_wareki_dateObject



32
33
34
# File 'lib/wareki/std_ext.rb', line 32

def to_wareki_date
  Wareki::Date.jd(jd)
end