class TokyoMetro::App::Renderer::StationTimetable::Group::EachRailwayLine
Public Class Methods
new( request , station_info , railway_line , station_timetables )
click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/station_timetable/group/each_railway_line.rb, line 3 def initialize( request , station_info , railway_line , station_timetables ) super( request ) @station_info = station_info @railway_line = railway_line @station_timetables = station_timetables end
Public Instance Methods
render()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_timetable/group/each_railway_line.rb, line 10 def render h.render inline: <<-HAML , type: :haml , locals: h_locals - grouped_by_direction.each do | station_timetables_of_each_railway_direction | = station_timetables_of_each_railway_direction.render HAML end
Private Instance Methods
grouped_by_direction()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_timetable/group/each_railway_line.rb, line 19 def grouped_by_direction h = ::Hash.new _railway_direction_ids = railway_direction_ids @station_timetables.each do | station_timetable | d_ids = station_timetable.station_timetable_fundamental_infos.pluck( :railway_direction_id ) d_ids.each do | railway_direction_id | if h[ railway_direction_id ].nil? h[ railway_direction_id ] = ::Array.new end h[ railway_direction_id ] << station_timetable end end h.sort_keys.map { | railway_direction_id , station_timetables | ::TokyoMetro::App::Renderer::StationTimetable::Group::EachRailwayLine::EachRailwayDirection.new( request , @station_info , @railway_line , ::RailwayDirection.find( railway_direction_id ) , station_timetables ) } end
h_locals()
click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/station_timetable/group/each_railway_line.rb, line 49 def h_locals super.merge({ grouped_by_direction: grouped_by_direction }) end
railway_direction_ids()
click to toggle source
# File lib/tokyo_metro/app/renderer/station_timetable/group/each_railway_line.rb, line 43 def railway_direction_ids @station_timetables.map { | station_timetable | station_timetable.railway_directions.pluck( :id ) }.flatten.uniq.sort end