class TokyoMetro::Factory::Generate::Api::StationTimetable::Info

API から取得したハッシュからインスタンスを生成するための Factory Pattern のクラス(メタクラス)

Public Instance Methods

variables() click to toggle source

Info クラスに送る変数のリスト @return [::Array]

# File lib/tokyo_metro/factory/generate/api/station_timetable/info.rb, line 8
def variables
  id = @hash[ "\@id" ]
  same_as = @hash[ "owl:sameAs" ]
  dc_date = @hash[ "dc:date" ]

  # station = @hash[ "odpt:station" ]
  # railway_line = @hash[ "odpt:railway" ]
  # operator = @hash[ "odpt:operator" ]
  # railway_direction = @hash[ "odpt:railDirection" ]

  fundamental_infos = station_fundamental_infos

  weekdays = generate_timetable_data_from_hash( "odpt:weekdays" )
  saturdays = generate_timetable_data_from_hash( "odpt:saturdays" )
  holidays = generate_timetable_data_from_hash( "odpt:holidays" )

  # [ id , same_as , dc_date , station , railway_line , operator , railway_direction ,
    # weekdays , saturdays , holidays ]

  [ id , same_as , dc_date , fundamental_infos , 
    weekdays , saturdays , holidays ]
end

Private Instance Methods

generate_timetable_data_from_hash( key ) click to toggle source
# File lib/tokyo_metro/factory/generate/api/station_timetable/info.rb, line 39
def generate_timetable_data_from_hash( key )
  self.class.train_list_class.new( @hash[ key ].map { | train |
    self.class.train_info_class.generate_from_hash( train )
  } )
end
station_fundamental_infos() click to toggle source
# File lib/tokyo_metro/factory/generate/api/station_timetable/info.rb, line 33
def station_fundamental_infos
  self.class.fundamental_list_class.new( [
    self.class.fundamental_info_class.generate_from_hash( @hash )
  ] )
end