Class: TokyoMetro::Api::Station::List

Overview

各駅の情報を格納する配列

Instance Method Summary collapse

Methods included from Modules::Api::List::Selection::RailwayLines

#chiyoda_including_branch, #marunouchi_including_branch, #namboku_or_toei_mita, #yurakucho_or_fukutoshin

Methods inherited from MetaClass::Fundamental::List

#find_by_same_as

Instance Method Details

#basenamesObject



20
21
22
# File 'lib/tokyo_metro/api/station/list.rb', line 20

def basenames
  list_up( :basename )
end

#basenames_to_displayObject



24
25
26
# File 'lib/tokyo_metro/api/station/list.rb', line 24

def basenames_to_display
  list_up( :basename_to_display )
end

#connecting_railway_lines::Array

Returns:

  • (::Array)


16
17
18
# File 'lib/tokyo_metro/api/station/list.rb', line 16

def connecting_railway_lines
  list_up( :connecting_railway_lines )
end

#seednil

Note:

Static::Station::RailwayLines.seed を呼び出している。

配列の各要素のインスタンスの情報をDBに流し込むメソッド

Returns:

  • (nil)


31
32
33
# 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_linesObject

Note:

各駅の基本情報をすべて流し込んでから、乗換路線情報のみを流し込む。(乗換駅の情報を流し込む際に ::Station::Info.find_by を利用しており、既知のすべての駅の流し込みが済んでいなければならないため)

配列に含まれる Info の各インスタンスの乗換路線情報を DB に流し込むメソッド

Examples:

TokyoMetro::Api::Station::List.factory_for_seeding_connecting_railway_lines
  => TokyoMetro::Factory::Seed::Api::Station::List::ConnectingRailwayLine


40
41
42
# 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_exitsnil

出入口の情報をDBに流し込むメソッド

Returns:

  • (nil)


46
47
48
# File 'lib/tokyo_metro/api/station/list.rb', line 46

def seed_exits
  seed_sub_infos( :factory_for_seeding_exits , __method__ )
end

乗降客数の情報をDBに流し込むメソッド

Returns:

  • (nil)


52
53
54
# 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::TokyoMetro::Api::Station::List

データベースへの流し込みの際に使用する配列(路線・駅のID順に整列している)



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 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) ⇒ String

インスタンスの情報を整形した文字列にして返すメソッド

Parameters:

  • indent (Integer (>=0) (defaults to: 0)

    ] インデントの幅

Returns:

  • (String)


11
12
13
# File 'lib/tokyo_metro/api/station/list.rb', line 11

def to_strf( indent = 0 )
  super( indent , 2 )
end