Module: Warekky

Defined in:
lib/warekky.rb,
lib/warekky/ja.rb,
lib/warekky/era.rb,
lib/warekky/core_ext.rb,
lib/warekky/era_group.rb

Defined Under Namespace

Modules: CoreExt Classes: Era, EraGroup, Ja

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.era_groupObject



14
15
16
# File 'lib/warekky.rb', line 14

def era_group
  @era_group ||= (era_group_class ? era_group_class.new : nil)
end

.era_group_classObject



18
19
20
21
# File 'lib/warekky.rb', line 18

def era_group_class
  @era_group_class = ::Warekky::Ja unless defined?(@era_group_class)
  @era_group_class
end

Class Method Details

.[](era_name_or_date_or_time) ⇒ Object



36
37
38
# File 'lib/warekky.rb', line 36

def [](era_name_or_date_or_time)
  era_group[era_name_or_date_or_time]
end

.parse(str, options = {}) ⇒ Object



30
31
32
33
34
# File 'lib/warekky.rb', line 30

def parse(str, options = {})
  era_group ? 
    era_group.parse(str, options) : 
    try_without(DateTime, :parse, str)
end

.strftime(d, format) ⇒ Object

d: Date or Time



24
25
26
27
28
# File 'lib/warekky.rb', line 24

def strftime(d, format)
  era_group ? 
    era_group.strftime(d, format) : 
    try_without(d, :strftime, format)
end

.try_without(obj, method_name, *args, &block) ⇒ Object



40
41
42
43
44
# File 'lib/warekky.rb', line 40

def try_without(obj, method_name, *args, &block)
  without_m = "#{method_name}_without_warekky"
  return obj.send(without_m, *args, &block) if obj.respond_to?(without_m)
  obj.send(method_name, *args, &block)
end