Class: Zakuro::Japan::Version::Resource::Parser::RangeParser

Inherits:
Object
  • Object
show all
Defined in:
lib/zakuro/era/japan/version/resource/parser.rb

Overview

RangeParser 暦期間情報の検証/展開を行う

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash:, index:) ⇒ RangeParser

初期化

Parameters:

  • hash (Hash<String, Strin>)

    元号情報

  • index (Integer)

    (元号セット内での)元号の要素位置



43
44
45
46
47
48
49
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 43

def initialize(hash:, index:)
  @index = index
  @name = hash['name']
  @start_year = hash['start_year']
  @start_date = hash['start_date']
  @released = hash['released']
end

Instance Attribute Details

#indexInteger (readonly)

Returns 要素位置.

Returns:

  • (Integer)

    要素位置



26
27
28
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 26

def index
  @index
end

#nameString (readonly)

Returns 暦名.

Returns:

  • (String)

    暦名



28
29
30
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 28

def name
  @name
end

#releasedTrue, False (readonly)

Returns:

  • (True)

    リリース有

  • (False)

    リリース無



35
36
37
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 35

def released
  @released
end

#start_dateHash<String, String> (readonly)

Returns 開始日.

Returns:

  • (Hash<String, String>)

    開始日



32
33
34
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 32

def start_date
  @start_date
end

#start_yearHash<String, String> (readonly)

Returns 開始年.

Returns:

  • (Hash<String, String>)

    開始年



30
31
32
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 30

def start_year
  @start_year
end

Instance Method Details

#createRange

暦期間情報を生成する

Returns:

  • (Range)

    暦期間情報



56
57
58
59
60
61
62
63
64
# File 'lib/zakuro/era/japan/version/resource/parser.rb', line 56

def create
  year = Both::YearParser.new(hash: start_year).create
  date = Both::DateParser.new(hash: start_date).create

  Type::Base::VersionRange.new(
    name: name, start_year: year,
    start_date: date, released: released
  )
end