Class: TokyoMetro::App::Renderer::StationFacility::Platform::Info::MetaClass::EachDirection

Inherits:
Factory::Decorate::MetaClass
  • Object
show all
Includes:
Common
Defined in:
lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Common

#barrier_free_facility_infos, #car_composition_types, #has_barrier_free_facility_infos?, #has_one_car_composition_type?, #has_railway_direction_infos?, #has_surrounding_area_infos?, #has_transfer_infos?, #max_car_composition, #railway_line_css_class_name, #railway_line_name_en, #railway_line_name_ja, #surrounding_area_infos, #tab_name, #transfer_infos

Constructor Details

#initialize(request, platform_infos, railway_lines, railway_direction) ⇒ EachDirection

Returns a new instance of EachDirection.



3
4
5
6
7
8
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 3

def initialize( request , platform_infos , railway_lines , railway_direction )
  super( request )
  @platform_infos = platform_infos.sort_by( &:car_number )
  set_railway_line( railway_lines )
  @railway_direction = railway_direction
end

Instance Attribute Details

#platform_infosObject (readonly)

Returns the value of attribute platform_infos.



10
11
12
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 10

def platform_infos
  @platform_infos
end

#railway_directionObject (readonly)

Returns the value of attribute railway_direction.



11
12
13
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 11

def railway_direction
  @railway_direction
end

Instance Method Details

#renderObject



15
16
17
18
19
20
21
22
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 15

def render
  if has_transfer_infos? or has_barrier_free_facility_infos? or has_surrounding_area_infos?
    h.render inline: "= info.render_direction_info\n= info.render_infos_of_each_platform\n    HAML\n  end\nend\n" , type: :haml , locals: h_locals

#render_barrier_free_facility_infosObject



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 79

def render_barrier_free_facility_infos
  if has_barrier_free_facility_infos?
    _barrier_free_facility_infos = barrier_free_facility_infos
    hl = {
      request: request ,
      inside: _barrier_free_facility_infos.map { | infos_of_each_car | infos_of_each_car.select( &:inside? ) } ,
      outside: _barrier_free_facility_infos.map { | infos_of_each_car | infos_of_each_car.select( &:outside? ) }
    }

    h.render inline: "- if inside.any?( &:present? )\n%tr{ class: :barrier_free_infos_inside }\n  = ::StationFacilityPlatformInfoDecorator.render_inside_barrier_free_facility_title\n  = ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::MetaClass::TableRow::BarrierFreeFacilityInfos::Inside.new( request , inside ).render\n\n- if outside.any?( &:present? )\n%tr{ class: :barrier_free_infos_outside }\n  = ::StationFacilityPlatformInfoDecorator.render_outside_barrier_free_facility_title\n  = ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::MetaClass::TableRow::BarrierFreeFacilityInfos::Outside.new( request , outside ).render\n    HAML\n  end\nend\n" , type: :haml , locals: hl

#render_car_number_array_if_one_car_composition_typeObject



55
56
57
58
59
60
61
62
63
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 55

def render_car_number_array_if_one_car_composition_type
  h.render inline: "%tr{ class: [ info.railway_line_css_class_name , :car_numbers , :text_en ] }\n= ::StationFacilityPlatformInfoDecorator.render_an_empty_cell\n- ( 1..( info.max_car_composition ) ).each do | n |\n  %td{ class: :car_number }<\n    = n\n  HAML\nend\n" , type: :haml , locals: h_locals

#render_direction_infoObject



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 24

def render_direction_info
  if @railway_direction.present?
    h.render inline: "%div{ class: :info_of_railway_direction }\n%div{ class: :title_of_direction }\n  %h4{ class: :text_ja }<\n    = railway_direction.station_info.decorate.render_name_ja( with_subname: true , suffix: \"\u65B9\u9762\u884C\u304D\u30DB\u30FC\u30E0\" )\n  %h5{ class: :text_en }<\n    = railway_direction.station_info.decorate.render_name_en( with_subname: true , prefix: \"Platform for \" )\n    HAML\n  end\nend\n" , type: :haml , locals: { railway_direction: @railway_direction }

#render_infos_of_each_platformObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 37

def render_infos_of_each_platform
  if has_one_car_composition_type?
    h.render inline: "%table{ class: :platform_info }\n= this.render_car_number_array_if_one_car_composition_type\n- # \u4E57\u63DB\u8DEF\u7DDA\u304C\u3042\u308B\u5834\u5408\u306F\u3001\u4E57\u63DB\u306E\u60C5\u5831\u3092\u8A18\u8FF0\n= this.render_transfer_infos\n- # \u99C5\u69CB\u5185\u306E\u65BD\u8A2D\u304C\u3042\u308B\u5834\u5408\u306F\u3001\u99C5\u69CB\u5185\u306E\u65BD\u8A2D\u306E\u60C5\u5831\u3092\u8A18\u8FF0\n= this.render_barrier_free_facility_infos\n- # \u99C5\u5468\u8FBA\u306E\u60C5\u5831\u304C\u3042\u308B\u5834\u5408\u306F\u3001\u99C5\u5468\u8FBA\u306E\u60C5\u5831\u3092\u8A18\u8FF0\n= this.render_surrounding_area_infos\n    HAML\n  else\n    # h.platform_infos_of_each_platform( @platform_infos , railway_line_css_class_name , car_composition_types , has_transfer_infos? , has_barrier_free_facility_infos? , has_surrounding_area_infos? )\n    raise \"Error\"\n  end\nend\n" , type: :haml , locals: { this: self }

#render_surrounding_area_infosObject



102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 102

def render_surrounding_area_infos
  if has_surrounding_area_infos?
    hl = {
      request: request ,
      surrounding_area_infos: surrounding_area_infos
    }
    h.render inline: "%tr{ class: :surrounding_areas }\n= ::StationFacilityPlatformInfoDecorator.render_surrounding_area_info_title\n= ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::MetaClass::TableRow::SurroundingAreaInfos.new( request , surrounding_area_infos ).render\n    HAML\n  end\nend\n" , type: :haml , locals: hl

#render_transfer_infosObject



65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/tokyo_metro/app/renderer/station_facility/platform/info/meta_class/each_direction.rb', line 65

def render_transfer_infos
  if has_transfer_infos?
    hl = {
      request: request ,
      transfer_infos: transfer_infos
    }
    h.render inline: "%tr{ class: :transfer_infos }\n= ::StationFacilityPlatformInfoDecorator.render_transfer_info_title\n= ::TokyoMetro::App::Renderer::StationFacility::Platform::Info::MetaClass::TableRow::TransferInfos.new( request , transfer_infos ).render\n    HAML\n  end\nend\n" , type: :haml , locals: hl