lib/zakuro/era/japan/gengou/resource/parser.rb in zakuro-0.9.4 vs lib/zakuro/era/japan/gengou/resource/parser.rb in zakuro-1.0.0

- old
+ new

@@ -1,9 +1,9 @@ # frozen_string_literal: true require_relative '../../../western/calendar' -require_relative './type' +require_relative '../../type/base/gengou_set' require_relative './validator' require 'yaml' # :nodoc: module Zakuro @@ -39,10 +39,11 @@ # # 初期化 # # @param [Hash<String, Strin>] hash 元号情報 # @param [Integer] index (元号セット内での)元号の要素位置 + # @param [True, False] operated 運用値設定 # def initialize(hash:, index:, operated: false) @index = index @name = hash['name'] @start_year = hash['start_year'] @@ -51,25 +52,25 @@ end # # 元号情報を生成する # - # @return [Gengou] 元号情報 + # @return [Type::Base::Gengou] 元号情報 # def create year = Both::YearParser.new(hash: start_year).create date = SwitchDateParser.new(hash: start_date, operated: operated).create - Gengou.new(name: name, start_year: year, - start_date: date) + Type::Base::Gengou.new(name: name, start_year: year, + start_date: date) end end # - # SetParser 元号セット情報の検証/展開 + # GengouSetParser 元号セット情報の検証/展開 # - class SetParser + class GengouSetParser # @return [String] 元号セットID attr_reader :id # @return [String] 元号セット名 attr_reader :name # @return [Hash<String, String>] 終了年 @@ -97,26 +98,26 @@ end # # 元号セット情報を生成する # - # @return [Set] 元号セット情報 + # @return [Type::Base::GengouSet] 元号セット情報 # def create date = SwitchDateParser.new(hash: last_date, operated: operated).create list = create_list - Set.new( + Type::Base::GengouSet.new( id: id, name: name, last_date: date, list: list ) end # :reek:TooManyStatements { max_statements: 7 } # # 元号情報を生成する # - # @return [Array<Gengou>] 元号情報 + # @return [Array<Type::Base::Gengou>] 元号情報 # def create_list result = [] list.each_with_index do |li, index| gengou = GengouParser.new( @@ -198,17 +199,17 @@ end # # 切替日(運用/計算)情報を生成する # - # @return [SwitchDate] 切替日(運用/計算)情報 + # @return [Type::Base::SwitchDate] 切替日(運用/計算)情報 # def create calculation_date = Both::DateParser.new(hash: calculation).create operation_date = Both::DateParser.new(hash: operation).create - Japan::Gengou::Resource::SwitchDate.new( + Type::Base::SwitchDate.new( calculation: calculation_date, operation: operation_date, operated: operated ) end end @@ -243,11 +244,11 @@ # def create japan_year = japan.to_i western_year = western.to_i - Japan::Gengou::Resource::Both::Year.new( + Type::Base::Both::Year.new( japan: japan_year, western: western_year ) end end @@ -271,20 +272,20 @@ end # # 日情報を生成する # - # @return [Both::Date] 日情報 + # @return [Type::Base::Both::Date] 日情報 # def create japan_date = Japan::Calendar.new western_date = Western::Calendar.new japan_date = Japan::Calendar.parse(text: japan) unless japan == '' western_date = Western::Calendar.parse(text: western) unless western == '' - Japan::Gengou::Resource::Both::Date.new( + Type::Base::Both::Date.new( japan: japan_date, western: western_date ) end end end @@ -294,21 +295,21 @@ # 解析/展開する # # @param [String] filepath 元号セットファイルパス # @param [True, False] operated 運用値設定 # - # @return [Set] 元号セット情報 + # @return [Type::Base::GengouSet] 元号セット情報 # # @raise [ArgumentError] 引数エラー # def run(filepath: '', operated: false) yaml = YAML.load_file(filepath) failed = Validator.run(yaml_hash: yaml) raise ArgumentError, failed.join("\n") unless failed.empty? - parser = SetParser.new(hash: yaml, operated: operated) + parser = GengouSetParser.new(hash: yaml, operated: operated) parser.create end end end end