class TokyoMetro::App::Renderer::FareTable::Group

Public Class Methods

new( request , station_info , railway_line_of_terminal_station ) click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 3
def initialize( request , station_info , railway_line_of_terminal_station )
  super( request )
  @normal_fare_groups = ::NormalFareGroup.all
  @station_info = station_info
  @railway_lines_of_terminal_station = [ railway_line_of_terminal_station ].flatten
end

Public Instance Methods

render() click to toggle source
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 10
  def render
    h.render inline: <<-HAML , type: :haml , locals: h_locals
%div{ id: :fare_tables }
  - railway_lines_of_terminal_station.each do | railway_line |
    = ::TokyoMetro::App::Renderer::FareTable::ToEachRailwayLine.new( request , railway_line , station_infos_including_other_railway_lines , starting_station_info , fares , normal_fare_groups ).render
    HAML
  end

Private Instance Methods

fares() click to toggle source
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 42
def fares
  ::Fare.where( from_station_info_id: starting_station_info.id , to_station_info_id: to_station_info_ids ).includes(
    :from_station_info ,
    :to_station_info ,
    :normal_fare_group
  )
end
h_locals() click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 20
def h_locals
  super.merge({
    station_infos_including_other_railway_lines: station_infos_including_other_railway_lines ,
    starting_station_info: starting_station_info ,
    fares: fares ,
    normal_fare_groups: @normal_fare_groups ,
    railway_lines_of_terminal_station: @railway_lines_of_terminal_station
  })
end
starting_station_info() click to toggle source
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 34
def starting_station_info
  station_infos_including_other_railway_lines.first
end
station_infos_including_other_railway_lines() click to toggle source
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 30
def station_infos_including_other_railway_lines
  @station_info.station_infos_including_other_railway_lines
end
to_station_info_ids() click to toggle source
# File lib/tokyo_metro/app/renderer/fare_table/group.rb, line 38
def to_station_info_ids
  @railway_lines_of_terminal_station.map( &:station_infos ).flatten.map( &:id ).sort.uniq
end