class TokyoMetro::Api::TrainLocation::Info
個別の列車のロケーション情報を扱うクラス
Attributes
データ生成時刻 - xsd:dateTime(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) @return [DateTime] @example
2013–01–13T15:10:00+09:00
遅延時間(秒) - xsd:integer @return [Integer] @note 5分未満は切り捨て
更新頻度(秒) - xsd:integer @return [Integer] @note 指定された秒数以降にリクエストを行うことで、最新値が取得される。
列車が出発した駅 - odpt:Station @return [String]
方面 - odpt:RailDirection @return [String] @example
odpt.RailDirection:TokyoMetro.Shibuya - 渋谷方面行きを表す
鉄道路線ID - odpt:Railway @return [String]
固有識別子 - URL @return [String] @note API での命名ルールは「odpt.Train:TokyoMetro.路線名.列車番号」
列車の始発駅 - odpt:Station @return [String]
列車の終着駅 - odpt:Station @return [String]
列車が向かっている駅 - odpt:Station @return [String] @return [nil] 列車が駅に停車している場合は nil
列車番号 - xsd:string @return [String]
車両の所属会社 - odpt:TrainOwner @return [String]
列車種別 - odpt:TrainType @return [String] @note 各停 (odpt.TrainType:Local) 、急行 (odpt.TrainType:Express) 、快速 (odpt.TrainType:Rapid) 、特急 (odpt.TrainType:LimitedExpress) など
データ保証期限 - xsd:dateTime(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) @return [DateTime] @example
2013–01–13T15:10:00+09:00
Public Class Methods
Constructor
# File lib/tokyo_metro/api/train_location/info.rb, line 22 def initialize( id_urn , same_as , train_number , train_type , dc_date , valid , frequency , railway_line , train_owner , railway_direction , delay , starting_station , terminal_station , from_station , to_station ) @id_urn = id_urn @same_as = same_as @dc_date , @valid , @frequency = dc_date , valid , frequency @train_number , @train_type = train_number , train_type @railway_line , @train_owner , @railway_direction = railway_line , train_owner , railway_direction @delay = delay @starting_station , @terminal_station = starting_station , terminal_station @from_station , @to_station = from_station , to_station # set_train_name end
Public Instance Methods
@!group 遅延情報に関するメソッド (For users)
# File lib/tokyo_metro/api/train_location/info.rb, line 170 def actual_delay @delay end
# File lib/tokyo_metro/api/train_location/info.rb, line 119 def before_decorate ::TokyoMetro::Factory::BeforeDecorate::Api::TrainLocation::Info.new( self ) end
列車が駅間にいるか否かの真偽値(駅間にいる場合は true ) @return [Boolean]
# File lib/tokyo_metro/api/train_location/info.rb, line 196 def between_station? !( now_at_station? ) end
@!endgroup
# File lib/tokyo_metro/api/train_location/info.rb, line 115 def decorate( request , railway_line ) ::TokyoMetro::Factory::Decorate::Api::TrainLocation::Info.new( request , self , railway_line ) end
# File lib/tokyo_metro/api/train_location/info.rb, line 200 def delay_instance ::TokyoMetro::Api::TrainLocation::Info::Delay.new( actual_delay ) end
遅延しているか否かを判定するメソッド @param delay_minimum_second [Integer] 遅延とみなさない最大の秒数(遅延となる最小の秒数) @return [Boolean]
# File lib/tokyo_metro/api/train_location/info.rb, line 181 def delay_now?( delay_minimum_second ) raise "Error" unless delay_minimum_second >= 0 actual_delay > delay_minimum_second end
列車が駅に停車中か否かの真偽値(駅に停車中の場合は true ) @return [Boolean]
# File lib/tokyo_metro/api/train_location/info.rb, line 190 def now_at_station? @to_station.nil? end
# File lib/tokyo_metro/api/train_location/info.rb, line 174 def on_schedule? actual_delay == 0 end
インスタンスの情報をハッシュにして返すメソッド @return [Hash]
# File lib/tokyo_metro/api/train_location/info.rb, line 141 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 , "dct:valid" , @valid.to_s ) set_data_to_hash( h , "odpt:frequency" , @frequency ) set_data_to_hash( h , "odpt:railway" , @railway_line ) set_data_to_hash( h , "odpt:railDirection" , @railway_direction ) set_data_to_hash( h , "odpt:trainNumber" , @train_number ) set_data_to_hash( h , "odpt:trainType" , @train_type ) set_data_to_hash( h , "odpt.trainOwner" , @train_owner ) set_data_to_hash( h , "odpt:startingStation" , @starting_sta ) set_data_to_hash( h , "odpt:terminalStation" , @terminal_sta ) set_data_to_hash( h , "odpt:delay" , @delay ) set_data_to_hash( h , "odpt:fromStation" , @from_station ) set_data_to_hash( h , "odpt:toStation" , @to_station ) h end
Private Instance Methods
@!endgroup
TokyoMetro::Modules::Api::Info::Decision::CurrentStation#station_same_as__is_in?
# File lib/tokyo_metro/api/train_location/info.rb, line 221 def station_same_as__is_in?( *args ) super( *args , compared: @from_station ) and @to_station.blank? end