class TokyoMetro::Factory::Seed::Api::StationTrainTime::TrainInStationTimetable::StationTimetableInfo

Attributes

railway_lines[R]
railway_lines_in_db[R]
station_timetable_in_db[R]
stations[R]
stations_in_db[R]

Public Class Methods

new( station_timetable_in_api ) click to toggle source
# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 3
def initialize( station_timetable_in_api )
  @station_timetable_in_db = set_station_timetable_in_db( station_timetable_in_api.same_as )

  @railway_lines_in_db = @station_timetable_in_db.railway_lines
  @stations_in_db = @station_timetable_in_db.stations
end

Public Instance Methods

instance_of_actual_station_in_api( train_timetable ) click to toggle source
# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 18
def instance_of_actual_station_in_api( train_timetable )
  _stations = stations_in_db
  case _stations.length
  when 1
    _stations.first
  else
    _stations.find { | station_info_in_db |
      train_timetable.stops_at?( station_info_in_db.same_as )
    }
  end
end
railway_lines_same_as() click to toggle source
# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 30
def railway_lines_same_as
  @railway_lines_in_db.map( &:same_as )
end
railway_lines_to_s() click to toggle source

インスタンス変数 railway_lines_same_as の情報を文字列に変換して返すメソッド @return [::String]

# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 36
def railway_lines_to_s
  railway_lines_same_as.join( " / " )
end
stations_same_as() click to toggle source
# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 40
def stations_same_as
  @stations_in_db.map( &:same_as )
end
stations_to_s() click to toggle source

インスタンス変数 stations_in_db の情報を文字列に変換して返すメソッド @return [::String]

# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 46
def stations_to_s
  stations_same_as.join( " / " )
end

Private Instance Methods

set_station_timetable_in_db( station_timetable_in_api_same_as ) click to toggle source
# File lib/tokyo_metro/factory/seed/api/station_train_time/train_in_station_timetable/station_timetable_info.rb, line 52
def set_station_timetable_in_db( station_timetable_in_api_same_as )
  station_timetable_in_db = ::StationTimetable.find_by_same_as( station_timetable_in_api_same_as )

  if station_timetable_in_db.nil?
    puts "Station Timetable Instance of \"#{ station_timetable_in_api_same_as }\" does not exist in the db."
    puts "Please input valid name. (example: \"odpt.StationTimetable:TokyoMetro.MarunouchiBranch.Nakanosakaue\" )"
    station_timetable_in_api_same_as = ::STDIN.gets.chomp
    set_station_timetable_in_db( station_timetable_in_api_same_as )
  end

  return station_timetable_in_db
end