class TokyoMetro::Api::Station::List
各駅の情報を格納する配列
Public Instance Methods
basenames()
click to toggle source
# File lib/tokyo_metro/api/station/list.rb, line 20 def basenames list_up( :basename ) end
basenames_to_display()
click to toggle source
# File lib/tokyo_metro/api/station/list.rb, line 24 def basenames_to_display list_up( :basename_to_display ) end
connecting_railway_lines()
click to toggle source
@return [::Array]
# File lib/tokyo_metro/api/station/list.rb, line 16 def connecting_railway_lines list_up( :connecting_railway_lines ) end
seed()
click to toggle source
配列の各要素のインスタンスの情報をDBに流し込むメソッド @return [nil] @note {TokyoMetro::Static::Station::RailwayLines.seed} を呼び出している。
Calls superclass method
# File lib/tokyo_metro/api/station/list.rb, line 31 def seed super( ::Operator.all , ::RailwayLine.all , ::StationFacility::Info.all , display_number: true ) end
seed_connecting_railway_lines()
click to toggle source
配列に含まれる {TokyoMetro::Api::Station::Info} の各インスタンスの乗換路線情報を DB に流し込むメソッド @note 各駅の基本情報をすべて流し込んでから、乗換路線情報のみを流し込む。(乗換駅の情報を流し込む際に ::Station::Info.find_by を利用しており、既知のすべての駅の流し込みが済んでいなければならないため) @example
TokyoMetro::Api::Station::List.factory_for_seeding_connecting_railway_lines => TokyoMetro::Factory::Seed::Api::Station::List::ConnectingRailwayLine
# File lib/tokyo_metro/api/station/list.rb, line 40 def seed_connecting_railway_lines seed_sub_infos( :factory_for_seeding_connecting_railway_lines , __method__ ) end
seed_exits()
click to toggle source
出入口の情報をDBに流し込むメソッド @return [nil]
# File lib/tokyo_metro/api/station/list.rb, line 46 def seed_exits seed_sub_infos( :factory_for_seeding_exits , __method__ ) end
seed_link_to_passenger_surveys()
click to toggle source
乗降客数の情報をDBに流し込むメソッド @return [nil]
# File lib/tokyo_metro/api/station/list.rb, line 52 def seed_link_to_passenger_surveys seed_sub_infos( :factory_for_seeding_link_to_passenger_surveys , __method__ ) end
to_seed()
click to toggle source
データベースへの流し込みの際に使用する配列(路線・駅のID順に整列している) @return [::TokyoMetro::Api::Station::List]
# File lib/tokyo_metro/api/station/list.rb, line 58 def to_seed railway_lines = ::RailwayLine.all stations_in_each_line = self.group_by { | station_info | railway_line = railway_lines.find_by( same_as: station_info.railway_line ) if railway_line.nil? raise "Error: data of the railway_line same as \"#{ station_info.railway_line }\" does not exist." end railway_line.id } ary = ::Array.new stations_in_each_line.keys.sort.each do | line | ary += stations_in_each_line[ line ].sort_by( &:station_code ) end self.class.new( ary ) end
to_strf( indent = 0 )
click to toggle source
インスタンスの情報を整形した文字列にして返すメソッド @param indent [Integer (>=0)] インデントの幅 @return [String]
Calls superclass method
TokyoMetro::Api::MetaClass::Fundamental::List#to_strf
# File lib/tokyo_metro/api/station/list.rb, line 11 def to_strf( indent = 0 ) super( indent , 2 ) end
Private Instance Methods
list_up( procedure )
click to toggle source
# File lib/tokyo_metro/api/station/list.rb, line 79 def list_up( procedure ) ary = self.map( &procedure ).flatten.uniq.sort ::Array.new( ary ) end
seed_sub_infos( factory_name , method_name )
click to toggle source
# File lib/tokyo_metro/api/station/list.rb, line 84 def seed_sub_infos( factory_name , method_name ) __seed__( factory_name: factory_name , method_name: method_name , indent: 0 , not_on_the_top_layer: false , display_number: true ) end