class TokyoMetro::App::Renderer::Concerns::Link::ToRailwayLinePage::MetaClass

Public Class Methods

new( request , railway_line_decorated ) click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 3
def initialize( request , railway_line_decorated )
  super( request )
  @railway_line_decorated = railway_line_decorated
  @small_railway_line_code = true
  raise unless valid_railway_line_decorator_class?
end

Public Instance Methods

render() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 10
  def render
    if to_render?
      h.render inline: <<-HAML , type: :haml , locals: h_locals
%li{ class: li_classes }
  - if url.present?
    = link_to_unless( without_link_to_railway_line_page , "" , url )
  %div{ class: div_classes }
    = railway_line_decorated.render_railway_line_code( small: small_railway_line_code )
    = railway_line_decorated.render_name( prefix_ja: prefix_ja , prefix_en: prefix_en , suffix_ja: suffix_ja , suffix_en: suffix_en )
    - if optional_infos_to_display.present?
      - [ optional_infos_to_display ].flatten.each do | info |
        = info.call
      HAML
    end
  end

Private Instance Methods

add_railway_line_css_class_name_to_li_classes?() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 73
def add_railway_line_css_class_name_to_li_classes?
  true
end
div_classes() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 62
def div_classes
  ary = ::Array.new
  ary << :clearfix
  if without_link_to_railway_line_page?
    ary << :railway_line_without_link
  else
    ary << :with_link_to_railway_line_page
  end
  ary
end
h_locals() click to toggle source
Calls superclass method
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 81
def h_locals
  h_base = super.merge({
    railway_line_decorated: @railway_line_decorated ,
    small_railway_line_code: @small_railway_line_code ,
    prefix_ja: @prefix_ja ,
    prefix_en: @prefix_en ,
    suffix_ja: @suffix_ja ,
    suffix_en: @suffix_en ,
    link_type: @link_type ,
    controller: @controller ,
    li_classes: li_classes ,
    div_classes: div_classes ,
    optional_infos_to_display: optional_infos_to_display ,
    url: url ,
    without_link_to_railway_line_page: without_link_to_railway_line_page?
  })
end
li_classes() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 40
def li_classes
  ary = [ :railway_line , :small ]

  if add_railway_line_css_class_name_to_li_classes?
    ary << railway_line_object.css_class_name
  end

  if @additional_class_of_li.present?
    ary << @additional_class_of_li
  end

  if link_to_this_page?
    ary << additional_li_classes_to_link_to_this_page
  end

  ary.flatten
end
object() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 28
def object
  @railway_line_decorated.object
end
optional_infos_to_display() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 116
def optional_infos_to_display
  nil
end
railway_line_object() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 32
def railway_line_object
  object.railway_line
end
railway_line_page_name() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 36
def railway_line_page_name
  @railway_line_decorated.railway_line_page_name
end
to_render?() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 120
def to_render?
  true
end
url() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 99
def url
  case @link_type
  when :railway_line_page_under_action_for_station
    url_helpers.url_for( controller: @controller , action: :action_for_station_page , station: current_station , railway_line: railway_line_page_name , only_path: true )
  when :action_for_station , :standard
    url_helpers.url_for( controller: @controller , action: railway_line_page_name , only_path: true )
  end
end
valid_railway_line_decorator_class?() click to toggle source
# File lib/tokyo_metro/app/renderer/concerns/link/to_railway_line_page/meta_class.rb, line 112
def valid_railway_line_decorator_class?
  @railway_line_decorated.instance_of?( ::RailwayLineDecorator )
end