Module: Zakuro::Japan::Gengou::Alignment

Defined in:
lib/zakuro/era/japan/gengou/alignment.rb,
lib/zakuro/era/japan/gengou/alignment/line.rb,
lib/zakuro/era/japan/gengou/alignment/aligner.rb,
lib/zakuro/era/japan/gengou/alignment/division.rb,
lib/zakuro/era/japan/gengou/alignment/linear_gengou.rb

Overview

:nodoc:

Defined Under Namespace

Modules: Division Classes: Aligner, Line, LinearGengou

Constant Summary collapse

FIRST_LINE =

Returns 1行目元号.

Returns:

  • (Integer)

    1行目元号

Aligner::FIRST_LINE
SECOND_LINE =

Returns 2行目元号.

Returns:

  • (Integer)

    2行目元号

Aligner::SECOND_LINE
SUMMARY =

Returns 整列結果.

Returns:

Aligner.new(resources: Resource::LIST)
OPERATED_SUMMARY =

Returns 整列結果(運用値).

Returns:

  • (Aligner)

    整列結果(運用値)

Aligner.new(resources: Resource::OPERATED_LIST)

Class Method Summary collapse

Class Method Details

.get(line: FIRST_LINE, start_date: Western::Calendar.new, last_date: Western::Calendar.new, operated: false, restored: false) ⇒ Array<LinearGengou>

指定した範囲内の元号を取得する

Parameters:

  • line (Integer) (defaults to: FIRST_LINE)

  • start_date (Western::Calendar) (defaults to: Western::Calendar.new)

    開始日

  • last_date (Western::Calendar) (defaults to: Western::Calendar.new)

    終了日

  • operated (True, False) (defaults to: false)

    運用値設定

  • restored (True, False) (defaults to: false)

    運用値から計算値に戻すか

Returns:



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/zakuro/era/japan/gengou/alignment.rb', line 41

def get(line: FIRST_LINE,
        start_date: Western::Calendar.new, last_date: Western::Calendar.new,
        operated: false, restored: false)
  if operated
    result = OPERATED_SUMMARY.get(
      line: line, start_date: start_date, last_date: last_date
    )
    return result unless restored

    return restore(line: line, list: result)
  end

  SUMMARY.get(line: line, start_date: start_date, last_date: last_date)
end

.get_by_name(name:, line: FIRST_LINE, operated: false, restored: false) ⇒ Array<LinearGengou>

指定した範囲内の元号を取得する(元号名)

Parameters:

  • name (String)

    元号名

  • line (Integer) (defaults to: FIRST_LINE)

  • operated (True, False) (defaults to: false)

    運用値設定

  • restored (True, False) (defaults to: false)

    運用値から計算値に戻すか

Returns:



66
67
68
69
70
71
72
73
74
75
# File 'lib/zakuro/era/japan/gengou/alignment.rb', line 66

def get_by_name(name:, line: FIRST_LINE, operated: false, restored: false)
  if operated
    result = OPERATED_SUMMARY.get_by_name(line: line, name: name)
    return result unless restored

    return restore(line: line, list: result)
  end

  SUMMARY.get_by_name(line: line, name: name)
end

.restore(line: FIRST_LINE, list: []) ⇒ Array<LinearGengou>

運用値から計算値に戻す

Parameters:

  • line (Integer) (defaults to: FIRST_LINE)

  • list (Array<LinearGengou>) (defaults to: [])

    元号

Returns:



85
86
87
88
89
90
91
92
93
# File 'lib/zakuro/era/japan/gengou/alignment.rb', line 85

def restore(line: FIRST_LINE, list: [])
  result = []
  list.each do |gengou|
    calc = SUMMARY.get_by_name(line: line, name: gengou.name)
    result |= calc
  end

  result
end