class TokyoMetro::App::Renderer::StationFacility::Platform
Public Class Methods
make_list( request , station_facility_info )
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 60 def self.make_list( request , station_facility_info ) self.new( request , station_facility_info ).to_a end
new( request , station_facility_info )
click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 3 def initialize( request , station_facility_info ) super( request ) @station_facility_info = station_facility_info @platform_infos_grouped_by_railway_line = platform_infos_grouped_by_railway_line @type_of_platform_infos = type_of_platform_infos end
Public Instance Methods
to_a()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 10 def to_a ary = ::Array.new case @type_of_platform_infos when :between_wakoshi_and_hikawadai # puts @type_of_platform_infos ary << ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::BetweenWakoshiAndHikawadai::Whole.new( request , @platform_infos_grouped_by_railway_line.values.first , ::RailwayLine.where( id: railway_line_ids_of_platform_infos ) ) when :kotake_mukaihara # puts @type_of_platform_infos ary << ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::KotakeMukaihara::Whole.new( request , @platform_infos_grouped_by_railway_line.values.first , ::RailwayLine.where( id: railway_line_ids_of_platform_infos ) ) when :meguro_and_shirokanedai # puts @type_of_platform_infos ary << ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::MeguroAndShirokanedai::Whole.new( request , @platform_infos_grouped_by_railway_line.values.first , ::RailwayLine.where( same_as: [ "odpt.Railway:TokyoMetro.Namboku" , "odpt.Railway:Toei.Mita" ] ).order( :id ) ) when :shirokane_takanawa # puts @type_of_platform_infos ary << ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::ShirokaneTakanawa::Whole.new( request , @platform_infos_grouped_by_railway_line.values.first , ::RailwayLine.where( same_as: [ "odpt.Railway:TokyoMetro.Namboku" , "odpt.Railway:Toei.Mita" ] ).order( :id ) ) when :normal # puts @type_of_platform_infos @platform_infos_grouped_by_railway_line.each do | railway_line_id , platform_infos | ary << ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::Normal::Whole.new( request , platform_infos , ::RailwayLine.find( railway_line_id ) ) end end ::TokyoMetro::App::Renderer::StationFacility::Platform::List.new( @resuest , ary ) end
Private Instance Methods
at_these_stations?( *stations_in_system )
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 149 def at_these_stations?( *stations_in_system ) [ stations_in_system ].flatten.map { | station | "odpt.StationFacility:TokyoMetro.#{station}" }.include?( @station_facility_info.same_as ) end
between_meguro_and_shirokane_takanawa?()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 136 def between_meguro_and_shirokane_takanawa? ary = ::TokyoMetro::Modules::Common::Dictionary::Station::StringList.namboku_and_toei_mita_line_common_stations_in_system at_these_stations?( ary ) end
between_wakoshi_and_hikawadai?()
click to toggle source
@!group 駅の判定
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 131 def between_wakoshi_and_hikawadai? ary = ::TokyoMetro::Modules::Common::Dictionary::Station::StringList.between_wakoshi_and_hikawadai_in_system at_these_stations?( ary ) end
platform_infos_grouped_by_railway_line()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 66 def platform_infos_grouped_by_railway_line @station_facility_info.platform_infos.includes( :railway_direction , :station_facility_platform_info_barrier_free_facility_infos , :station_facility_platform_info_transfer_infos , :station_facility_platform_info_surrounding_areas , :barrier_free_facility_infos , :surrounding_areas ).group_by( &:railway_line_id ) end
platform_infos_of?( *ary )
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 125 def platform_infos_of?( *ary ) railway_line_ids_of_platform_infos.map { | railway_line_id | ::RailwayLine.find( railway_line_id ).same_as } == ary end
platform_infos_of_namboku_and_toei_mita_line_at_meguro_or_shirokanedai?()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 107 def platform_infos_of_namboku_and_toei_mita_line_at_meguro_or_shirokanedai? platform_infos_of_namboku_line? and ( at_meguro? or at_shirokanedai? ) end
platform_infos_of_namboku_and_toei_mita_line_at_shirokane_takanawa?()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 111 def platform_infos_of_namboku_and_toei_mita_line_at_shirokane_takanawa? platform_infos_of_namboku_line? and at_shirokane_takanawa? end
platform_infos_of_namboku_line?()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 121 def platform_infos_of_namboku_line? platform_infos_of?( "odpt.Railway:TokyoMetro.Namboku" ) end
platform_infos_of_yurakucho_and_fukutoshin_line?()
click to toggle source
@!group 路線の判定
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 117 def platform_infos_of_yurakucho_and_fukutoshin_line? platform_infos_of?( *( ::TokyoMetro::Modules::Common::Dictionary::RailwayLine::StringList.yurakucho_and_fukutoshin_line_same_as ) ) end
platform_infos_of_yurakucho_and_fukutoshin_line_at_kotake_mukaihara?()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 103 def platform_infos_of_yurakucho_and_fukutoshin_line_at_kotake_mukaihara? platform_infos_of_yurakucho_and_fukutoshin_line? and at_kotake_mukaihara? end
platform_infos_of_yurakucho_and_fukutoshin_line_between_wakoshi_and_hikawadai?()
click to toggle source
@!group 路線と駅の判定
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 99 def platform_infos_of_yurakucho_and_fukutoshin_line_between_wakoshi_and_hikawadai? platform_infos_of_yurakucho_and_fukutoshin_line? and between_wakoshi_and_hikawadai? end
railway_line_ids_of_platform_infos()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 93 def railway_line_ids_of_platform_infos @platform_infos_grouped_by_railway_line.keys.sort end
type_of_platform_infos()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_facility/platform.rb, line 77 def type_of_platform_infos if platform_infos_of_yurakucho_and_fukutoshin_line_between_wakoshi_and_hikawadai? :between_wakoshi_and_hikawadai elsif platform_infos_of_yurakucho_and_fukutoshin_line_at_kotake_mukaihara? :kotake_mukaihara elsif platform_infos_of_namboku_and_toei_mita_line_at_meguro_or_shirokanedai? :meguro_and_shirokanedai elsif platform_infos_of_namboku_and_toei_mita_line_at_shirokane_takanawa? :shirokane_takanawa else :normal end end