class TokyoMetro::Factory::Seed::Static::Station::Info
Private Instance Methods
create_and_get_pattern_id( pattern )
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 134 def create_and_get_pattern_id( pattern ) ::StoppingPattern.find_or_create_by( same_as: pattern ).id end
create_station_facility_info()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 46 def create_station_facility_info ::StationFacility::Info.find_or_create_by( same_as: @info.station_facility_info ) end
hash_for_updating_db()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 50 def hash_for_updating_db h = ::Hash.new [ :name_hira , :name_in_system , :name_en , :index_in_railway_line ].each do | key_name | h[ key_name ] = @info.send( key_name ) end h end
hash_to_db()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 58 def hash_to_db h = ::Hash.new h[ :station_facility_info_id ] = station_facility_info_id h[ :railway_line_id ] = @railway_line_id h[ :operator_id ] = ::RailwayLine.find( @railway_line_id ).operator_id [ :name_ja , :name_hira , :name_in_system , :name_en , :index_in_railway_line , :station_code , :same_as ].each do | key_name | h[ key_name ] = @info.send( key_name ) end h end
seed_main()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 15 def seed_main if station_info_already_exists_in_db? update_station_info else unless station_facility_info_already_exists_in_db? create_station_facility_info end create_station end end
Also aliased as: create_station
seed_normal_stopping_patterns( s_id )
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 138 def seed_normal_stopping_patterns( s_id ) @info.stop.each do | pattern | p_id = create_and_get_pattern_id( pattern ) ::StationStoppingPattern.find_or_create_by( station_info_id: s_id , stopping_pattern_id: p_id , partial: false , for_driver: false ) end end
seed_normal_stopping_patterns_for_drivers( s_id )
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 166 def seed_normal_stopping_patterns_for_drivers( s_id ) if @info.stop_for_drivers.present? @info.stop_for_drivers.each do | pattern | p_id = create_and_get_pattern_id( pattern ) ::StationStoppingPattern.find_or_create_by( station_info_id: s_id , stopping_pattern_id: p_id , partial: false , for_driver: true ) end end end
seed_normal_stopping_patterns_of_some_trains( s_id )
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 150 def seed_normal_stopping_patterns_of_some_trains( s_id ) if @info.some_trains_stop.present? @info.some_trains_stop.each do | pattern , note | p_id = create_and_get_pattern_id( pattern ) note_id = ::StationStoppingPatternNote.find_or_create_by( text: note ).id ::StationStoppingPattern.find_or_create_by( station_info_id: s_id , stopping_pattern_id: p_id , partial: true , for_driver: false , station_stopping_pattern_note_id: note_id ) end end end
seed_optional_infos()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 26 def seed_optional_infos # StationNameAlias , 停車駅の処理 seed_station_name_alias seed_station_facility_custom seed_stopping_patterns end
seed_station_facility_custom()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 108 def seed_station_facility_custom if @info.station_facility_custom.present? ary_of_station_facility_name_alias = [ @info.station_facility_custom ].flatten if @info.station_facility_custom_alias.present? ary_of_station_facility_name_alias += [ @info.station_facility_custom_alias ].flatten end sf_id = station_facility_info_id ary_of_station_facility_name_alias.each.with_index(1) do | station_facility_name_alias , i | h = { station_facility_info_id: sf_id , index_of_alias: i , same_as: station_facility_name_alias } ::StationFacility::NameAlias.find_or_create_by(h) end end end
seed_stopping_patterns()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 126 def seed_stopping_patterns s_id = station_info_id seed_normal_stopping_patterns( s_id ) seed_normal_stopping_patterns_of_some_trains( s_id ) seed_normal_stopping_patterns_for_drivers( s_id ) end
station_facility_info_already_exists_in_db?()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 38 def station_facility_info_already_exists_in_db? ::StationFacility::Info.exists?( same_as: @info.station_facility_info ) end
station_info_already_exists_in_db?()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 34 def station_info_already_exists_in_db? ::Station::Info.exists?( same_as: @info.same_as ) end
station_name_alias()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 99 def station_name_alias s_id = station_info_id if @info.station_name_alias.present? [ @info.station_name_alias ].flatten.each do | station_name_alias | ::Station::NameAlias.find_or_create_by( station_info_id: s_id , same_as: station_name_alias ) end end end
update_station_info()
click to toggle source
# File lib/tokyo_metro/factory/seed/static/station/info.rb, line 42 def update_station_info ::Station::Info.find_by( same_as: @info.same_as ).update( hash_for_updating_db ) end