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)

    通日



281
282
283
284
285
286
287
288
289
290
291
# File 'lib/when_exe/calendartypes.rb', line 281

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 始まり)



302
303
304
305
306
307
308
309
310
311
312
313
314
# File 'lib/when_exe/calendartypes.rb', line 302

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