class TokyoMetro::Factory::Seed::Api::TrainTimetable::Info::ArrivalTimes::RomanceCar
Private Instance Methods
check_validty_of_the_train_for_odakyu_line( _station_times )
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 86 def check_validty_of_the_train_for_odakyu_line( _station_times ) # 末尾に代々木上原の到着時刻が定義されている場合は無視する。 # @note 運転停車の到着時刻の処理は TokyoMetro::Api::TrainTimetable::Info#seed_arrival_times_of_last_station_in_tokyo_metro で行う。 if info_of_last_station_in_tokyo_metro.arrival_station == "odpt.Station:TokyoMetro.Chiyoda.YoyogiUehara" _station_times = _station_times[0..-2] end # 代々木上原以外の各駅の出発時刻は、すでにDBへ流し込まれているはずである。 _station_times.each do | station_time | unless station_time.seed_completed? raise "Error: #{@same_as} ... Departure time of \"#{station_time.station}\" is not seed yet." end end # したがって、このメソッドでは何もすることはない。 end
hash_to_db( station_time , _hash_to_select_station_timetable_base )
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 33 def hash_to_db( station_time , _hash_to_select_station_timetable_base ) _arrival_station_info_id = arrival_station_info_id( station_time ) { train_type_in_this_station_info_id: train_type_in_this_station_info_id , station_timetable_id: station_timetable_id( _arrival_station_info_id , _hash_to_select_station_timetable_base ) , arrival_station_info_id: _arrival_station_info_id , stop_for_drivers: false }.merge( station_time.time_to_h ).merge( base_hash_for_seeding_additional_arrival_times ) end
hash_to_select_station_timetable( _arrival_station_info_id , _hash_to_select_station_timetable_base )
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 56 def hash_to_select_station_timetable( _arrival_station_info_id , _hash_to_select_station_timetable_base ) { station_info_id: _arrival_station_info_id }.merge( _hash_to_select_station_timetable_base ) end
hash_to_select_station_timetable_base()
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 62 def hash_to_select_station_timetable_base _railway_line_id = railway_line_id { railway_line_id: _railway_line_id , railway_direction_id: railway_direction_id( _railway_line_id ) } end
seed_main()
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 13 def seed_main unless romance_car_on_chiyoda_line? return nil end _station_times_to_seed = station_times_to_seed if _station_times_to_seed.blank? return nil end _hash_to_select_station_timetable_base = hash_to_select_station_timetable_base _station_times_to_seed.each do | station_time | db_class.find_or_create_by( hash_to_db( station_time , _hash_to_select_station_timetable_base ) ) station_time.seed_completed! end return nil end
station_times_to_seed()
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 70 def station_times_to_seed _station_times = station_times # 千代田線→小田急線の列車の場合 # DB へ流し込むデータは存在しない(理由は #check_validty_of_the_train_for_odakyu_line に記載) if for_odakyu_line? check_validty_of_the_train_for_odakyu_line( _station_times ) return nil # 小田急線→千代田線の列車の場合 # 終着駅の処理は、ロマンスカー以外の列車も含め #seed_arrival_times_of_last_station_in_tokyo_metro で行う。 elsif for_chiyoda_line? station_times[0..-2] else raise "Error" end end
station_timetable_id( _arrival_station_info_id , _hash_to_select_station_timetable_base )
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 44 def station_timetable_id( _arrival_station_info_id , _hash_to_select_station_timetable_base ) _station_timetable_ids = station_timetable_ids( _arrival_station_info_id , _hash_to_select_station_timetable_base ).uniq.sort unless _station_timetable_ids.length == 1 raise "Error: #{ _station_timetable_ids.to_s }" end _station_timetable_ids.first end
station_timetable_ids( _arrival_station_info_id , _hash_to_select_station_timetable_base )
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 52 def station_timetable_ids( _arrival_station_info_id , _hash_to_select_station_timetable_base ) ::StationTimetableFundamentalInfo.where( hash_to_select_station_timetable( _arrival_station_info_id , _hash_to_select_station_timetable_base ) ).pluck( :station_timetable_id ) end
train_type_in_this_station_info_id()
click to toggle source
# File lib/tokyo_metro/factory/seed/api/train_timetable/info/arrival_times/romance_car.rb, line 101 def train_type_in_this_station_info_id romance_car.id end