class TokyoMetro::Factory::Decorate::Api::TrainLocation::Info::TrainType
Attributes
decorator[R]
Public Class Methods
get( decorator )
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 85 def self.get( decorator ) self.new( decorator ).in_db end
new( decorator )
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 3 def initialize( decorator ) @decorator = decorator end
Public Instance Methods
in_db()
click to toggle source
@todo 本完了へ
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 14 def in_db #-------- 【千代田線】(小田急ロマンスカー) if object.romance_car_on_chiyoda_line? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.Chiyoda.RomanceCar.Normal" ) #-------- 【有楽町線・副都心線】小竹向原 elsif object.on_yurakucho_or_fukutoshin_line? and object.at_kotake_mukaihara? and object.terminating_on_seibu_line? #-------- 西武池袋線(など) if object.local_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.Local.ToSeibu" ) elsif object.semi_express_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.SemiExpress.ToSeibu" ) elsif object.rapid_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.Rapid.ToSeibu" ) elsif object.rapid_express_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.RapidExpress.ToSeibu" ) end #-------- 【有楽町線・副都心線】和光市 elsif object.on_yurakucho_or_fukutoshin_line? and object.at_wakoshi? and object.terminating_on_tobu_tojo_line? #-------- 東武東上線 if object.local_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.Local.ToTobuTojo" ) end #-------- 【副都心線】渋谷 elsif object.on_fukutoshin_line? and object.at_shibuya_on_fukutoshin_line? and object.terminating_on_tokyu_toyoko_or_minatomirai_line? #-------- 東急東横線・みなとみらい線 if object.commuter_limited_express_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.CommuterLimitedExpress.ToTokyu" ) elsif object.limited_express_train? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.YurakuchoFukutoshin.LimitedExpress.ToTokyu" ) end #-------- 【南北線・三田線】目黒 - 白金高輪 elsif object.on_namboku_line? and object.local_train? if object.terminate_on_tokyu_meguro_line? return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.Namboku.Local.ToTokyu" ) else return ::TrainType.find_by( same_as: "custom.TrainType:TokyoMetro.Namboku.Local.Normal" ) end elsif object.on_toei_mita_line? and object.local_train? if object.terminate_on_tokyu_meguro_line? return ::TrainType.find_by( same_as: "custom.TrainType:Toei.Mita.Local.ToTokyu" ) else return ::TrainType.find_by( same_as: "custom.TrainType:Toei.Mita.Local.Normal" ) end end t = ::TrainType.find_by( train_type_in_api_id: train_type_in_api_id , railway_line_id: railway_line_id ) if t.present? return t end raise "Error: train_type_in_api: \"#{ object.train_type }\" / railway_line: \"#{ object.railway_line }\"" end
object()
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 9 def object @decorator.object end
Private Instance Methods
railway_line_id()
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 95 def railway_line_id railway_line_in_db.id end
railway_line_in_db()
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 91 def railway_line_in_db ::RailwayLine.find_by( same_as: object.railway_line ) end
train_type_in_api()
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 99 def train_type_in_api ::TrainTypeInApi.find_by( same_as: object.train_type ) end
train_type_in_api_id()
click to toggle source
# File lib/tokyo_metro/factory/decorate/api/train_location/info/train_type.rb, line 103 def train_type_in_api_id train_type_in_api.id end