class TokyoMetro::Api::Station::Info
個別の駅情報を扱うクラス
Attributes
乗り換え可能路線の一覧 @return [::Array <odpt:Railway>]
データ生成時刻 - xsd:dateTime(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) @return [DateTime] @example
2013–01–13T15:10:00+09:00
駅出入口を表すオブジェクトへのリンク - odpt:exit @return [Info::Exit::List <ug:Poi>]
駅施設を表すオブジェクトのURI - odpt:facility @return [::Array <odpt:StationFacility>]
駅代表点のデータを GeoJSON で取得するためのURL <ug:region - odpt:GeoDocument> @return [String] @note ここでug:regionが指し示すURLは、路線形状データを GeoJSON で取得するためのURLとなる。 @note GeoJSON 取得には、ug:regionに記載されているURLに加えて、アクセストークンの付与が必要である。 @note 取得される GeoJSON は、駅構内に入線する路線の中央点を取ったPOINTとなる
代表点の緯度(10進表記) @return [Float]
代表点の経度(10進表記) @return [Float]
@!group メタデータ (For developers)
代表点の緯度(10進表記) @return [Float]
代表点の経度(10進表記) @return [Float]
管理会社 - odpt:operator @return [String]
駅乗降人員数を表すオブジェクトへのリンク - odpt:passengerSurvey @return [Info::LinkToPassengerSurvey::List <odpt:PassengerSurvey>]
鉄道路線ID - odpt:Railway @return [String]
駅代表点のデータを GeoJSON で取得するためのURL <ug:region - odpt:GeoDocument> @return [String] @note ここでug:regionが指し示すURLは、路線形状データを GeoJSON で取得するためのURLとなる。 @note GeoJSON 取得には、ug:regionに記載されているURLに加えて、アクセストークンの付与が必要である。 @note 取得される GeoJSON は、駅構内に入線する路線の中央点を取ったPOINTとなる
固有識別子 - URL @return [String] @note API での命名ルールは「odpt.Station:TokyoMetro.路線名.駅名」
駅名 - dc:title @return [String]
駅コード - odpt:stationCode @return [String]
駅名 - dc:title @return [String]
Public Class Methods
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
# File lib/tokyo_metro/api/station/info.rb, line 145 def basename @same_as.gsub( /\Aodpt\.Station\:TokyoMetro\.[[:alpha:]]+\.([[:alpha:]]+)\Z/ ) { $1 } end
# File lib/tokyo_metro/api/station/info.rb, line 149 def basename_to_display self.basename.gsub( /(?<=[a-z])([A-Z])/ ) { "-#{$1.downcase}" } end
# 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
# File lib/tokyo_metro/api/station/info.rb, line 168 def seed_exits( indent ) @exit_list.try( :seed , station_info_id , indent ) end
# File lib/tokyo_metro/api/station/info.rb, line 172 def seed_link_to_passenger_surveys( indent ) @passenger_survey.try( :seed , station_info_id , indent ) end
# File lib/tokyo_metro/api/station/info.rb, line 153 def title_shift_jis case @title when "麴町" "麹町" else @title end end
インスタンスの情報をハッシュにして返すメソッド @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
インスタンスの情報を文字列にして返すメソッド @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
Private Instance Methods
# File lib/tokyo_metro/api/station/info.rb, line 182 def instance_in_db ::Station::Info.find_by( same_as: @same_as ) end
# File lib/tokyo_metro/api/station/info.rb, line 178 def station_info_id instance_in_db.id end
TokyoMetro::Modules::Api::Info::Decision::CurrentStation#station_same_as__is_in?
# File lib/tokyo_metro/api/station/info.rb, line 186 def station_same_as__is_in?( *variables ) super( *variables , compared: @same_as ) end