Sha256: b781b7e3413d2f74351436fded142dd370747ce7f2551be8d82587dbb9245e3a

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

# API から取得したハッシュからインスタンスを生成するための Factory Pattern のクラス(メタクラス)
class TokyoMetro::Factory::Generate::Api::StationFacility::Info < TokyoMetro::Factory::Generate::Api::MetaClass::Info::Fundamental

  include ::TokyoMetro::ClassNameLibrary::Api::StationFacility
  include ::TokyoMetro::Factory::Generate::Api::MetaClass::Info::ConvertAndSetArrayData::ModuleForMethod

  # Info クラスに送る変数のリスト
  # @return [::Array]
  def variables
    id_urn = @hash[ "\@id" ]
    same_as = @hash[ "owl:sameAs" ]

    dc_date = DateTime.parse( @hash[ "dc:date" ] )

    [ id_urn , same_as , barrier_free_facility_list , platform_info_list , dc_date ]
  end

  private

  # バリアフリー施設の情報の配列を作成するメソッド
  # @return [::TokyoMetro::Api::StationFacility::Info::BarrierFree::List]
  def barrier_free_facility_list
    covert_and_set_array_data(
      "odpt:barrierfreeFacility" ,
      self.class.barrier_free_list_class ,
      #
      # ::TokyoMetro::Api::StationFacility::Info::BarrierFree
      # @note ::TokyoMetro::Api::StationFacility::Info::BarrierFree::Info (barrier_free_meta_info_class) ではない
      self.class.barrier_free_top_level_class 
    )
  end

  # プラットフォームに車両が停車している時の、車両毎の最寄りの施設・出口などの情報の配列を作成するメソッド
  # @return [::TokyoMetro::Api::StationFacility::Info::Platform::List]
  def platform_info_list
    covert_and_set_array_data(
      "odpt:platformInformation" ,
      self.class.platform_list_class ,
      self.class.platform_info_class
    )
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tokyo_metro-0.10.1 lib/tokyo_metro/factory/generate/api/station_facility/info.rb