class TokyoMetro::Factory::BeforeDecorate::Api::TrainLocation::Info

Attributes

object[R]

Public Class Methods

new( object ) click to toggle source
# File lib/tokyo_metro/factory/before_decorate/api/train_location/info.rb, line 3
def initialize( object )
  @object = object
end

Public Instance Methods

railway_direction( railway_line_in_db ) click to toggle source
# File lib/tokyo_metro/factory/before_decorate/api/train_location/info.rb, line 13
def railway_direction( railway_line_in_db )
  rd = railway_direction_in_api_same_as
  # 都営三田線(目黒 - 白金高輪)の列車
  if railway_line_in_db.namboku_line? and object.toei_mita_line?
    case rd
    when "odpt.RailDirection:Toei.NishiTakashimadaira"
      return "odpt.RailDirection:TokyoMetro.AkabaneIwabuchi"
    when "odpt.RailDirection:Toei.Meguro"
      return "odpt.RailDirection:TokyoMetro.Meguro"
    end
  end

  # 有楽町・副都心線
  if railway_line_in_db.yurakucho_or_fukutoshin_line?

    # 西武線直通列車
    if object.terminating_on_seibu_line?
      case rd
      when "odpt.RailDirection:TokyoMetro.KotakeMukaihara"
        return "odpt.RailDirection:TokyoMetro.Wakoshi"
      end
    end

    # 池袋行き(新木場・渋谷方面から)
    if object.terminating_at_ikebukuro_on_yurakucho_line? or object.terminating_at_ikebukuro_on_fukutoshin_line?
      if object.starting_at_toyosu? or object.starting_at_shin_kiba? or object.starting_at_shibuya_on_fukutoshin_line? or object.starting_on_tokyu_toyoko_or_minatomirai_line?
        return "odpt.RailDirection:TokyoMetro.Wakoshi"
      end
    end

    # 小竹向原行き(新木場・渋谷方面から)
    if object.terminating_at_kotake_mukaihara_on_yurakucho_line? or object.terminating_at_kotake_mukaihara_on_fukutoshin_line?
      if object.starting_at_toyosu? or object.starting_at_shin_kiba? or object.starting_at_shibuya_on_fukutoshin_line? or object.starting_on_tokyu_toyoko_or_minatomirai_line?
        return "odpt.RailDirection:TokyoMetro.Wakoshi"
      end
    end

  end

  # 有楽町線
  if railway_line_in_db.yurakucho_line?

    # 池袋行き(和光市・東武線・西武線方面から)
    if object.terminating_at_ikebukuro_on_yurakucho_line?
      if object.starting_at_wakoshi_on_yurakucho_line? or object.starting_at_kotake_mukaihara_on_yurakucho_line? or object.starting_on_seibu_line? or object.starting_on_tobu_tojo_line?
        return "odpt.RailDirection:TokyoMetro.ShinKiba"
      end
    end

  end

  # 副都心線
  if railway_line_in_db.fukutoshin_line?

    # 新宿三丁目行き(渋谷方面から)
    if object.terminating_at_shinjuku_sanchome_on_fukutoshin_line?
      if object.starting_at_shibuya_on_fukutoshin_line? or object.starting_on_tokyu_toyoko_or_minatomirai_line?
        case rd
        when "odpt.RailDirection:TokyoMetro.Ikebukuro"
          return "odpt.RailDirection:TokyoMetro.Wakoshi"
        end
      end
    end

    # 池袋行き(和光市・東武線・西武線方面から)
    if object.terminating_at_ikebukuro_on_fukutoshin_line?
      if object.starting_at_wakoshi_on_fukutoshin_line? or object.starting_at_kotake_mukaihara_on_fukutoshin_line? or object.starting_on_seibu_line? or object.starting_on_tobu_tojo_line?
        return "odpt.RailDirection:TokyoMetro.Shibuya"
      end
    end

  end

  return rd
end
railway_direction_in_api_same_as() click to toggle source
# File lib/tokyo_metro/factory/before_decorate/api/train_location/info.rb, line 9
def railway_direction_in_api_same_as
  object.railway_direction
end