class TokyoMetro::App::Renderer::WomenOnlyCarInfo
Public Class Methods
new( request , railway_lines )
click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/women_only_car_info.rb, line 3 def initialize( request , railway_lines ) super( request ) @railway_lines = railway_lines set_infos end
Public Instance Methods
render()
click to toggle source
# File lib/tokyo_metro/app/renderer/women_only_car_info.rb, line 9 def render if @infos.present? h.render inline: <<-HAML , type: :haml , locals: h_locals %div{ id: :women_only_car } = ::TokyoMetro::App::Renderer::WomenOnlyCarInfo::Header.new( request ).render - if infos.length > 1 - infos.each do | infos_of_a_railway_line | = infos_of_a_railway_line.render( display_railway_line: true ) - else = infos.first.render HAML end end
Private Instance Methods
h_locals()
click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/women_only_car_info.rb, line 37 def h_locals super.merge({ infos: @infos }) end
set_infos()
click to toggle source
# File lib/tokyo_metro/app/renderer/women_only_car_info.rb, line 25 def set_infos if @railway_lines.instance_of?( ::RailwayLine ) infos_in_db = ::WomenOnlyCarInfo.where( railway_line_id: @railway_lines.id ) else infos_in_db = ::WomenOnlyCarInfo.where( railway_line_id: @railway_lines.pluck( :id ) ) end @infos = infos_in_db.includes( :operation_day , :from_station_info , :to_station_info ).to_a.group_by( &:railway_line_id ).map { | railway_line_id , infos | ::TokyoMetro::App::Renderer::WomenOnlyCarInfo::EachRailwayLine.new( @request , ::RailwayLine.find( railway_line_id ) , infos ) } end