Class: TokyoMetro::Static::Fare::Normal::Table::Pattern
- Inherits:
-
Object
- Object
- TokyoMetro::Static::Fare::Normal::Table::Pattern
- Defined in:
- lib/tokyo_metro/static/fare/normal/table/pattern.rb
Overview
運賃のパターン(各料金区間の運賃)を扱うクラス
運賃の情報を出力するメソッド collapse
-
#child_ic_card_fare ⇒ Integer
readonly
普通運賃(小児・ICカード).
-
#child_ticket_fare ⇒ Integer
readonly
普通運賃(小児・切符).
-
#ic_card_fare ⇒ Integer
readonly
普通運賃(大人・ICカード).
-
#ticket_fare ⇒ Integer
readonly
普通運賃(大人・切符).
運賃の情報を出力するメソッド collapse
-
#to_a ⇒ ::Array
各種運賃を配列として返すメソッド.
-
#to_s(indent = 0) ⇒ String
運賃の情報を1行で出力するメソッド(簡易版).
-
#to_s_in_a_row(indent = 0, header: false) ⇒ String
運賃の情報を1行で出力するメソッド(詳細版).
-
#to_s_table(indent = 0) ⇒ String
運賃の情報を表にして出力するメソッド.
データの判定 collapse
-
#match?(ticket_fare, child_ticket_fare, ic_card_fare, child_ic_card_fare) ⇒ Boolean
運賃の情報が与えられたときに、self と一致するか否かを判定するメソッド.
回数券 (1) - 発売額 collapse
-
#child_coupon_ticket_fare ⇒ Integer
回数券(小児)の発売額.
-
#coupon_ticket_fare ⇒ Integer
回数券(大人)の発売額.
回数券 (2) - 1枚あたりの発売額 collapse
-
#child_daytime_coupon_ticket_per_one_piece ⇒ Integer
時差回数券(小児・12枚つづり)の1枚あたりの発売額.
-
#child_holiday_coupon_ticket_per_one_piece ⇒ Integer
土休回数券(小児・14枚つづり)の1枚あたりの発売額.
-
#child_normal_coupon_ticket_per_one_piece ⇒ Integer
普通回数券(小児・11枚つづり)の1枚あたりの発売額.
-
#daytime_coupon_ticket_per_one_piece ⇒ Integer
時差回数券(大人・12枚つづり)の1枚あたりの発売額.
-
#holiday_coupon_ticket_per_one_piece ⇒ Integer
土休回数券(大人・14枚つづり)の1枚あたりの発売額.
-
#normal_coupon_ticket_per_one_piece ⇒ Integer
普通回数券(大人・11枚つづり)の1枚あたりの発売額.
クラスメソッド collapse
- .factory_for_seeding_this_class ⇒ Object
-
.header(indent) ⇒ String
運賃の情報を出力する際のヘッダー.
Instance Method Summary collapse
-
#initialize(ticket_fare, child_ticket_fare, ic_card_fare, child_ic_card_fare) ⇒ Pattern
constructor
Constructor.
Methods included from Modules::Common::ToFactory::Seed::Info
Constructor Details
#initialize(ticket_fare, child_ticket_fare, ic_card_fare, child_ic_card_fare) ⇒ Pattern
Constructor
12 13 14 15 16 17 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 12 def initialize( ticket_fare , child_ticket_fare , ic_card_fare , child_ic_card_fare ) @ticket_fare = ticket_fare @child_ticket_fare = child_ticket_fare @ic_card_fare = ic_card_fare @child_ic_card_fare = child_ic_card_fare end |
Instance Attribute Details
#child_ic_card_fare ⇒ Integer (readonly)
普通運賃(小児・ICカード)
35 36 37 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 35 def child_ic_card_fare @child_ic_card_fare end |
#child_ticket_fare ⇒ Integer (readonly)
普通運賃(小児・切符)
27 28 29 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 27 def child_ticket_fare @child_ticket_fare end |
#ic_card_fare ⇒ Integer (readonly)
普通運賃(大人・ICカード)
31 32 33 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 31 def ic_card_fare @ic_card_fare end |
#ticket_fare ⇒ Integer (readonly)
普通運賃(大人・切符)
23 24 25 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 23 def ticket_fare @ticket_fare end |
Class Method Details
.factory_for_seeding_this_class ⇒ Object
159 160 161 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 159 def self.factory_for_seeding_this_class factory_for_seeding_normal_table_pattern end |
.header(indent) ⇒ String
運賃の情報を出力する際のヘッダー
155 156 157 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 155 def self.header( indent ) self.normal_fare_table_list_class.header( indent ) end |
Instance Method Details
#child_coupon_ticket_fare ⇒ Integer
回数券(小児)の発売額
107 108 109 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 107 def child_coupon_ticket_fare @child_ticket_fare * 10 end |
#child_daytime_coupon_ticket_per_one_piece ⇒ Integer
時差回数券(小児・12枚つづり)の1枚あたりの発売額
139 140 141 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 139 def child_daytime_coupon_ticket_per_one_piece coupon_ticket_fare_per_one_piece( :child_coupon_ticket_fare , 12 ) end |
#child_holiday_coupon_ticket_per_one_piece ⇒ Integer
土休回数券(小児・14枚つづり)の1枚あたりの発売額
145 146 147 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 145 def child_holiday_coupon_ticket_per_one_piece coupon_ticket_fare_per_one_piece( :child_coupon_ticket_fare , 14 ) end |
#child_normal_coupon_ticket_per_one_piece ⇒ Integer
普通回数券(小児・11枚つづり)の1枚あたりの発売額
133 134 135 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 133 def child_normal_coupon_ticket_per_one_piece coupon_ticket_fare_per_one_piece( :child_coupon_ticket_fare , 11 ) end |
#coupon_ticket_fare ⇒ Integer
回数券(大人)の発売額
101 102 103 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 101 def coupon_ticket_fare @ticket_fare * 10 end |
#daytime_coupon_ticket_per_one_piece ⇒ Integer
時差回数券(大人・12枚つづり)の1枚あたりの発売額
121 122 123 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 121 def daytime_coupon_ticket_per_one_piece coupon_ticket_fare_per_one_piece( :coupon_ticket_fare , 12 ) end |
#holiday_coupon_ticket_per_one_piece ⇒ Integer
土休回数券(大人・14枚つづり)の1枚あたりの発売額
127 128 129 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 127 def holiday_coupon_ticket_per_one_piece coupon_ticket_fare_per_one_piece( :coupon_ticket_fare , 14 ) end |
#match?(ticket_fare, child_ticket_fare, ic_card_fare, child_ic_card_fare) ⇒ Boolean
運賃の情報が与えられたときに、self と一致するか否かを判定するメソッド
93 94 95 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 93 def match?( ticket_fare , child_ticket_fare , ic_card_fare , child_ic_card_fare ) self.to_a == [ ticket_fare , child_ticket_fare , ic_card_fare , child_ic_card_fare ] end |
#normal_coupon_ticket_per_one_piece ⇒ Integer
普通回数券(大人・11枚つづり)の1枚あたりの発売額
115 116 117 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 115 def normal_coupon_ticket_per_one_piece coupon_ticket_fare_per_one_piece( :coupon_ticket_fare , 11 ) end |
#to_a ⇒ ::Array
各種運賃を配列として返すメソッド
39 40 41 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 39 def to_a [ @ticket_fare , @child_ticket_fare , @ic_card_fare , @child_ic_card_fare ] end |
#to_s(indent = 0) ⇒ String
運賃の情報を1行で出力するメソッド(簡易版)
46 47 48 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 46 def to_s( indent = 0 ) " " * indent + self.to_a.map { | i | i.to_currency.rjust(16) }.join( " " * 8 ) end |
#to_s_in_a_row(indent = 0, header: false) ⇒ String
運賃の情報を1行で出力するメソッド(詳細版)
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 54 def to_s_in_a_row( indent = 0 , header: false ) str_ary = ::Array.new if header header_str = self.class.header( indent ) str_ary << ( " " * indent + header_str.gsub( / +\Z/ , "" ) ) end fare = self.to_s str_ary << ( " " * indent + fare ) str_ary.join( "\n" ) end |
#to_s_table(indent = 0) ⇒ String
運賃の情報を表にして出力するメソッド
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/tokyo_metro/static/fare/normal/table/pattern.rb', line 69 def to_s_table( indent = 0 ) str_ary = ::Array.new row_1 = ::Array.new row_2 = ::Array.new row_1 << ( "odpt:ticketFare".ljust(24) + @ticket_fare.to_currency.rjust(8) ) row_1 << ( "odpt:childTicketFare".ljust(24) + @child_ticket_fare.to_currency.rjust(8) ) row_2 << ( "odpt:icCardFare".ljust(24) + @ic_card_fare.to_currency.rjust(8) ) row_2 << ( "odpt:childIcCardFare".ljust(24) +@child_ic_card_fare.to_currency.rjust(8) ) [ row_1 , row_2 ].each do | row | str_ary << " " * indent + row.join( " " * 8 ) end str_ary.join( "\n" ) end |