class Zakuro::VersionClassResolver

VersionClassResolver 暦リゾルバー

Constants

CLASSES

Attributes

version_name[R]

Public Class Methods

get_class(version_name:, class_name:) click to toggle source
# File lib/zakuro/version/version_class_resolver.rb, line 33
def self.get_class(version_name:, class_name:)
  constant = CLASSES.fetch(class_name, '')

  raise ArgumentError.new, 'invalid class name' if constant == ''

  resolved_constant = constant.gsub('$VERSION', version_name)

  Object.const_get(resolved_constant)
end
new(version_name:) click to toggle source
# File lib/zakuro/version/version_class_resolver.rb, line 29
def initialize(version_name:)
  @version_name = version_name
end

Public Instance Methods

annual_range() click to toggle source

年間範囲クラスを返す

@return [Class] 年間範囲クラス

# File lib/zakuro/version/version_class_resolver.rb, line 66
def annual_range
  VersionClassResolver.get_class(version_name: @version_name, class_name: 'annual_range')
end
remainder() click to toggle source

大余小余(暦別)クラスを返す

@return [Class] 大余小余(暦別)クラス

# File lib/zakuro/version/version_class_resolver.rb, line 48
def remainder
  VersionClassResolver.get_class(version_name: @version_name, class_name: 'remainder')
end
solar_term() click to toggle source

二十四節気クラスを返す

@return [Class] 二十四節気クラス

# File lib/zakuro/version/version_class_resolver.rb, line 57
def solar_term
  VersionClassResolver.get_class(version_name: @version_name, class_name: 'solar_term')
end