Module: When::CalendarTypes::TableExtend

Defined in:
lib/when_exe/calendartypes.rb

Overview

朔閏パターンの表の拡張

Instance Method Summary collapse

Instance Method Details

#_coordinates_to_number(y, m, d) ⇒ Integer

年月日 -> 通日

Parameters:

  • y (Numeric)

  • m (Integer)

    月 (0 始まり)

  • d (Integer)

    日 (0 始まり)

Returns:

  • (Integer)

    通日



246
247
248
249
250
251
252
253
254
255
256
# File 'lib/when_exe/calendartypes.rb', line 246

def _coordinates_to_number(y, m, d)
  if @after && y >= @rule_table[@entry_key]['Years']
    _normalize_after
    return @after._coordinates_to_number(y + @_after_offset, m, d)
  end
  if @before && y < 0
    _normalize_before
    return @before._coordinates_to_number(y + @_before_offset, m, d)
  end
  super
end

#_number_to_coordinates(sdn) ⇒ Array<Integer>

通日 - > 年月日

Parameters:

  • sdn (Integer)

    通日

Returns:

  • (Array<Integer>)
    y, m, d

    y 年 m 月 (0 始まり) d 日 (0 始まり)



267
268
269
270
271
272
273
274
275
276
277
278
279
# File 'lib/when_exe/calendartypes.rb', line 267

def _number_to_coordinates(sdn)
  if @after && sdn >= @origin_of_LSC + @rule_table[@entry_key]['Days']
    _normalize_after
    y, m, d = @after._number_to_coordinates(sdn)
    return [y - @_after_offset, m, d]
  end
  if @before && sdn < @origin_of_LSC
    _normalize_before
    y, m, d = @before._number_to_coordinates(sdn)
    return [y - @_before_offset, m, d]
  end
  super
end