class TokyoMetro::App::Renderer::SideMenu::Link::List

Public Class Methods

new( request , class_name , ul_id , link_instance_names , *options , additional_proc: nil ) click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 3
def initialize( request , class_name , ul_id , link_instance_names , *options , additional_proc: nil )
  @request = request
  @ul_id = ul_id
  @link_instances = set_link_instances( class_name , link_instance_names.flatten , options )
  @additional_proc = additional_proc
end

Private Class Methods

to_documents( request ) click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 48
def self.to_documents( request )
  self.new(
    request ,
    ::TokyoMetro::App::Renderer::SideMenu::Link::ToDocument , "links_#{__method__}" ,
    [
      :development_document # ,
      # :how_to_use # ,
      # :disclaimer , :remark , :another_page
    ]
  )
end
to_main_contents( request ) click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 31
def self.to_main_contents( request )
  self.new(
    request ,
    ::TokyoMetro::App::Renderer::SideMenu::Link::ToMainContent::Index , "links_#{__method__}" ,
    [
      :top ,
      :train_operation ,
      :train_location ,
      :railway_line ,
      :station_facility ,
      # :railway_timetable ,
      # :station_timetable ,
      :fare , :passenger_survey
    ]
  )
end
to_other_websites( request ) click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 60
def self.to_other_websites( request )
  self.new(
    request ,
    ::TokyoMetro::App::Renderer::SideMenu::Link::ToOtherWebsite , "links_#{__method__}" ,
    [ :tokyo_metro_official , :top_of_opendata_contest , :top_for_developer ]
  )
end
to_station_info_pages( request , station_info ) click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 68
def self.to_station_info_pages( request , station_info )
  self.new(
    request ,
    ::TokyoMetro::App::Renderer::SideMenu::Link::ToMainContent::OfStation ,
    :list_of_links_to_station_pages ,
    [ :train_operation , :station_facility , :fare ] ,
    # [ :train_operation , :station_facility , :station_timetable , :fare ] ,
    station_info ,
    additional_proc: additional_proc_of_links_to_station_info_page( request , station_info )
  )
end

Public Instance Methods

render() click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 10
  def render
    h.render inline: <<-HAML , type: :haml , locals: h_locals
%ul{ id: ul_id , class: [ :links , :clearfix ] }
  - link_instances.each do | link_instance |
    = link_instance.render
- if additional_proc.present?
  = additional_proc.call( this )
    HAML
  end

Private Instance Methods

h_locals() click to toggle source
# File lib/tokyo_metro/app/renderer/side_menu/link/list.rb, line 27
def h_locals
  { this: self , ul_id: @ul_id , link_instances: @link_instances , additional_proc: @additional_proc }
end