class TokyoMetro::Api::Station::Info

個別の駅情報を扱うクラス

Attributes

connecting_railway_lines[R]

乗り換え可能路線の一覧 @return [::Array <odpt:Railway>]

dc_date[R]

データ生成時刻 - xsd:dateTime(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) @return [DateTime] @example

2013–01–13T15:10:00+09:00
exit_list[R]

駅出入口を表すオブジェクトへのリンク - odpt:exit @return [Info::Exit::List <ug:Poi>]

facility[R]

駅施設を表すオブジェクトのURI - odpt:facility @return [::Array <odpt:StationFacility>]

geo_json[R]

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

geo_lat[R]

代表点の緯度(10進表記) @return [Float]

geo_long[R]

代表点の経度(10進表記) @return [Float]

id_urn[R]

@!group メタデータ (For developers)

latitude[R]

代表点の緯度(10進表記) @return [Float]

longitude[R]

代表点の経度(10進表記) @return [Float]

operator[R]

管理会社 - odpt:operator @return [String]

passenger_survey[R]

駅乗降人員数を表すオブジェクトへのリンク - odpt:passengerSurvey @return [Info::LinkToPassengerSurvey::List <odpt:PassengerSurvey>]

railway_line[R]

鉄道路線ID - odpt:Railway @return [String]

region[R]

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

same_as[R]

固有識別子 - URL @return [String] @note API での命名ルールは「odpt.Station:TokyoMetro.路線名.駅名」

station[R]

駅名 - dc:title @return [String]

station_code[R]

駅コード - odpt:stationCode @return [String]

title[R]

駅名 - dc:title @return [String]

Public Class Methods

new( id_urn , same_as , title , dc_date , geo_long , geo_lat , region , operator , railway_line , connecting_railway_lines , facility , passenger_survey , station_code , exit_list ) click to toggle source

Constructor

# File lib/tokyo_metro/api/station/info.rb, line 17
def initialize( id_urn , same_as , title , dc_date , geo_long , geo_lat , region ,
    operator , railway_line , connecting_railway_lines , facility , passenger_survey , station_code , exit_list )
  @id_urn = id_urn
  @same_as = same_as
  @title , @dc_date = title , dc_date

  @geo_long = geo_long
  @geo_lat = geo_lat
  @region = region

  @operator = operator
  @railway_line = railway_line
  @connecting_railway_lines = connecting_railway_lines
  @facility = facility
  @passenger_survey = passenger_survey
  @station_code = station_code
  @exit_list = exit_list
end

Public Instance Methods

basename() click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 145
def basename
  @same_as.gsub( /\Aodpt\.Station\:TokyoMetro\.[[:alpha:]]+\.([[:alpha:]]+)\Z/ ) { $1 }
end
basename_to_display() click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 149
def basename_to_display
  self.basename.gsub( /(?<=[a-z])([A-Z])/ ) { "-#{$1.downcase}" }
end
name_ja()
Alias for: title_shift_jis
seed_connecting_railway_lines( indent ) click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 164
def seed_connecting_railway_lines( indent )
  @connecting_railway_lines.try( :seed , station_info_id , indent )
end
seed_exits( indent ) click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 168
def seed_exits( indent )
  @exit_list.try( :seed , station_info_id , indent )
end
title_shift_jis() click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 153
def title_shift_jis
  case @title
  when "麴町"
    "麹町"
  else
    @title
  end
end
Also aliased as: name_ja
to_h() click to toggle source

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

# File lib/tokyo_metro/api/station/info.rb, line 120
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:date" , @dc_date.to_s )
  set_data_to_hash( h , "ug:region" , @region )

  set_data_to_hash( h , "odpt:operator" , @operator )
  set_data_to_hash( h , "odpt:railway" , @railway_line )

  set_data_to_hash( h , "odpt:stationCode" , @station_code )
  set_data_to_hash( h , "dc:title" , @title )

  set_data_to_hash( h , "geo:long" , @geo_long )
  set_data_to_hash( h , "geo:lat" , @geo_lat )

  set_data_to_hash( h , "odpt:connectingRailway" , @connecting_railway_lines )
  set_data_to_hash( h , "odpt:facility" , @facility )
  set_data_to_hash( h , "odpt:passengerSurvey" , @passenger_survey )
  set_data_to_hash( h , "odpt:exit" , @exit_list )

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

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

# File lib/tokyo_metro/api/station/info.rb, line 112
def to_s( indent = 0 )
  to_s_with_array( [ "odpt:connectingRailway" , "odpt:passengerSurvey" , "odpt:exit" ] , indent )
end
Also aliased as: to_strf
to_strf( indent = 0 )
Alias for: to_s

Private Instance Methods

instance_in_db() click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 182
def instance_in_db
  ::Station::Info.find_by( same_as: @same_as )
end
station_info_id() click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 178
def station_info_id
  instance_in_db.id
end
station_same_as__is_in?( *variables ) click to toggle source
# File lib/tokyo_metro/api/station/info.rb, line 186
def station_same_as__is_in?( *variables )
  super( *variables , compared: @same_as )
end