class TokyoMetro::App::Renderer::PassengerSurvey::Table::MetaClass

Public Class Methods

new( request , passenger_survey_infos , make_graph ) click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 3
def initialize( request , passenger_survey_infos , make_graph )
  super( request )
  @passenger_survey_infos = passenger_survey_infos
  @make_graph = make_graph

  set_max_passenger_journey_in_graph
end

Public Instance Methods

render() click to toggle source
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 11
  def render
    h.render inline: <<-HAML , type: :haml , locals: h_locals
%div{ id: :passenger_survey_table , class: css_class_name_of_tables }
  %table{ class: [ :table , "table-striped" ] }
    = this.render_header_of_table
    - rows.each do | row |
      = row.render
    HAML
  end
render_header_of_table() click to toggle source
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 21
def render_header_of_table
  raise "Error: This method \'#{ __method__ }\' is not defined in this class \'#{ self.class.name }\'."
end

Private Instance Methods

class_name_of_each_row() click to toggle source
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 38
def class_name_of_each_row
  raise "Error: This method \'#{ __method__ }\' is not defined in this class \'#{ self.class.name }\'."
end
h_locals() click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 46
def h_locals
  super.merge({
    this: self ,
    rows: rows ,
    css_class_name_of_tables: @css_class_name_of_tables
  })
end
rows() click to toggle source
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 32
def rows
  @passenger_survey_infos.map.with_index(1) { | passenger_survey_info , i |
    class_name_of_each_row.new( *( variables_send_to_row_instance( passenger_survey_info , i ) ) )
  }
end
set_max_passenger_journey_in_graph() click to toggle source
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 27
def set_max_passenger_journey_in_graph
  base = 20000
  @max_passenger_journey_in_graph = ( @passenger_survey_infos.pluck( :passenger_journeys ).max * 1.0 / base ).ceil * base
end
variables_send_to_row_instance( passenger_survey_info , i ) click to toggle source
# File lib/tokyo_metro/app/renderer/passenger_survey/table/meta_class.rb, line 42
def variables_send_to_row_instance( passenger_survey_info , i )
  [ @request , passenger_survey_info , i , @max_passenger_journey_in_graph , @make_graph ]
end