class TokyoMetro::Api::StationFacility::Info::BarrierFree

駅のバリアフリー施設を扱うクラス ug:SpatialThing

Public Class Methods

generate_from_hash( facility_hash ) click to toggle source

バリアフリー施設のインスタンスを作成するメソッド @param facility_hash [Hash] バリアフリー情報が格納されたハッシュ @return [sub-classes of BarrierFree::Info] @note 下位名前空間のクラスのインスタンスを作成する。

# File lib/tokyo_metro/api/station_facility/info/barrier_free.rb, line 8
def self.generate_from_hash( facility_hash )
  class_name_const = class_name( facility_hash )
  class_name_const.generate_from_hash( facility_hash )
end

Private Class Methods

class_name( facility_hash ) click to toggle source

クラスメソッド generate_from_hash を呼び出すクラスの設定 @param facility_hash [Hash] バリアフリー情報が格納されたハッシュ @return [Const (class name)]

# File lib/tokyo_metro/api/station_facility/info/barrier_free.rb, line 16
def self.class_name( facility_hash )
  case facility_hash[ "\@type" ]

  when "ug:Toilet"
    ::TokyoMetro::Api::StationFacility::Info::BarrierFree::Facility::Toilet::Info

  when "spac:Stairlift"
    ::TokyoMetro::Api::StationFacility::Info::BarrierFree::Facility::Stairlift::Info

  when "ug:Elevator"
    ::TokyoMetro::Api::StationFacility::Info::BarrierFree::Facility::Elevator::Info

  when "ug:Escalator"
    ::TokyoMetro::Api::StationFacility::Info::BarrierFree::Facility::Escalator::Info

  when "ug:Link"
    ::TokyoMetro::Api::StationFacility::Info::BarrierFree::Facility::LinkForMobilityScooter::Info

  else
    raise "Error"
  end
end