class TokyoMetro::Api::RailwayLine::Info

個別の路線情報を扱うクラス @note

DB への流し込みは、{TokyoMetro::Static::RailwayLine::Info}#seed ({TokyoMetro::Modules::Common::ToFactory::Seed::Info} で定義)で行う。
関連: {TokyoMetro::Factory::Seed::Static::RailwayLine::Info}

Attributes

dc_date[R]
geo_json[R]

路線形状データを Geojson で取得するためのURL <ug:region - odpt:GeoDocument> @return [String] @note ここで ug:region が指し示すURLは、路線形状データを GeoJSON で取得するためのURLとなる。 @note GeoJSON 取得には、ug:regionに記載されているURLに加えて、アクセストークンの付与が必要である。

id_urn[R]

固有識別子 (ucode) @return [String] @note 支線には別IDを割り当てる

operator[R]

運行会社 <odpt:operator - odpt:Operator> @return [String]

railway_line_code[R]

路線コード <odpt:lineCode - xsd:string> @return [String]

region[R]

路線形状データを Geojson で取得するためのURL <ug:region - odpt:GeoDocument> @return [String] @note ここで ug:region が指し示すURLは、路線形状データを GeoJSON で取得するためのURLとなる。 @note GeoJSON 取得には、ug:regionに記載されているURLに加えて、アクセストークンの付与が必要である。

same_as[R]

固有識別子 <owl:sameAs - URL> @note 命名ルールは「odpt.Railway:TokyoMetro.路線名」

station_order[R]

駅の順序 <odpt:stationOrder - Array> @return [StationOrder::List <StationOrder::Info>]

title[R]

運行系統名 <dc:title - xsd:string> @return [String] @note 運行系統名 dc:title は、一般的に用いられる路線名・愛称を示す。

travel_time[R]

駅間の標準所要時間リスト <odpt:travelTime - Array> @return [TravelTime::List <TravelTime::Info>]

women_only_car[R]

女性専用車両情報のリスト <odpt:womenOnlyCar - Array (odpt:WomenOnlyCar)> @return [WomenOnlyCar::List <WomenOnlyCar::Info>]

Public Class Methods

new( id_urn , same_as , title , region , operator , railway_line_code , station_order , travel_time , women_only_car , dc_date ) click to toggle source

Constructor

# File lib/tokyo_metro/api/railway_line/info.rb, line 22
def initialize( id_urn , same_as , title , region , operator , railway_line_code ,
  station_order , travel_time , women_only_car , dc_date )
  @id_urn = id_urn
  @same_as = same_as
  @title = title
  @region = region
  @operator = operator
  @railway_line_code = railway_line_code
  @station_order = station_order
  @travel_time = travel_time
  @women_only_car = women_only_car
  @dc_date = dc_date
end

Public Instance Methods

railway_line_code_for_filename() click to toggle source

ファイル名に使用する路線名 @note 丸ノ内線の「M」と「m」の競合を防ぐため

# File lib/tokyo_metro/api/railway_line/info.rb, line 90
def railway_line_code_for_filename
  if /\A[a-z]/ === railway_line_code
    "#{railway_line_code.capitalize}_small"
  else
    railway_line_code
  end
end
railway_line_id() click to toggle source
# File lib/tokyo_metro/api/railway_line/info.rb, line 140
def railway_line_id
  ::RailwayLine.find_by( same_as: @same_as ).id
end
seed_station_order_infos() click to toggle source

@note {TokyoMetro::Api::RailwayLine::Info::StationOrder::List#seed} を実行 @note 使用停止中 - {TokyoMetro::Static::Station::InEachRailwayLine::Info#seed}を参照

# File lib/tokyo_metro/api/railway_line/info.rb, line 128
def seed_station_order_infos
  @station_order.seed
end
seed_travel_time_infos() click to toggle source
# File lib/tokyo_metro/api/railway_line/info.rb, line 132
def seed_travel_time_infos
  @travel_time.try( :seed , railway_line_id )
end
seed_women_only_car_infos() click to toggle source
# File lib/tokyo_metro/api/railway_line/info.rb, line 136
def seed_women_only_car_infos
  @women_only_car.try( :seed , railway_line_id )
end
to_h() click to toggle source

インスタンスの情報をハッシュにして返すメソッド @return [Hash]

# File lib/tokyo_metro/api/railway_line/info.rb, line 109
def to_h
  h = Hash.new
  set_data_to_hash( h , "\@id" , @id_urn )
  set_data_to_hash( h , "owl:sameAs" , @same_as )
  set_data_to_hash( h , "dc:title" , @title )
  set_data_to_hash( h , "ug:region" , @region )
  set_data_to_hash( h , "odpt:operator" , @operator )
  set_data_to_hash( h , "odpt:lineCode" , @railway_line_code )

  set_data_to_hash( h , "odpt:stationOrder" , @station_order )
  set_data_to_hash( h , "odpt:travelTime" , @travel_time )
  set_data_to_hash( h , "odpt:womenOnlyCar" , @women_only_car )
  set_data_to_hash( h , "dc:date" , @dc_date )

  h
end
to_s( indent = 0 ) click to toggle source

インスタンスの情報を文字列にして返すメソッド @param indent [Integer (>=0)] インデントの幅 @return [String]

# File lib/tokyo_metro/api/railway_line/info.rb, line 101
def to_s( indent = 0 )
  to_s_with_array( [ "odpt:stationOrder" , "odpt:travelTime" , "odpt:womenOnlyCar" ] , indent )
end
Also aliased as: to_strf
to_strf( indent = 0 )
Alias for: to_s

Private Instance Methods

is_on_the_railway_line_of?( *variables )
on_the_railway_line_of?( *variables ) click to toggle source

@!endgroup

# File lib/tokyo_metro/api/railway_line/info.rb, line 148
def on_the_railway_line_of?( *variables )
  super( *variables , @same_as )
end
Also aliased as: is_on_the_railway_line_of?