class TokyoMetro::Api::TrainOperation::Info
個別の路線の運行情報を扱うクラス
Attributes
データ生成時刻(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) - xsd:dateTime @return [DateTime] @example
2013–01–13T15:10:00+09:00
運行会社 - odpt:Operator @return [String]
発生路線 - odpt:Railway @return [String]
運行情報の文字列 - xsd:string @return [String] @note 平常時は省略する。運行情報が存在する場合は「運行情報あり」を格納し、遅延などの情報を取得可能な場合は、「遅延」等のテキストを格納する。
運行情報テキスト - xsd:string @return [String]
発生時刻(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) - xsd:dateTime @return [DateTime]
有効期限(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) - xsd:dateTime @return [DateTime]
Public Class Methods
Constructor @param id_urn [String] 固有識別子 (ucode) <id - URN> @param date [DateTime] データ生成時刻(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) - xsd:dateTime @param valid [DateTime] 有効期限(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) - xsd:dateTime @param operator [String] 運行会社 <odpt:operator - odpt:Operator> @param time_of_origin
[DateTime] 発生時刻(ISO8601 日付時刻形式をもとに生成した DateTime のインスタンス) - xsd:dateTime @param railway_line
[String] 発生路線 <odpt:railway - odpt:Railway> @param info_status [String] 運行ステータス <odpt:trainInformationStatus - xsd:string> @param info_text [String] 運行情報テキスト <odpt:trainInformationText - xsd:string> @note 運行ステータスは、平常時は省略。運行情報が存在する場合は「運行情報あり」を格納。遅延などの情報を取得可能な場合は、「遅延」等のテキストを格納。
# File lib/tokyo_metro/api/train_operation/info.rb, line 21 def initialize( id_urn , dc_date , valid , operator , time_of_origin , railway_line , info_status , info_text ) @id_urn = id_urn @dc_date , @valid = dc_date , valid @operator , @time_of_origin , @railway_line = operator , time_of_origin , railway_line @status , @text = info_status , info_text end
Public Instance Methods
# File lib/tokyo_metro/api/train_operation/info.rb, line 70 def decorate( request , railway_line , max_delay , controller , no_train ) ::TokyoMetro::Factory::Decorate::Api::TrainOperation::Info.new( request , self , railway_line , max_delay , controller , no_train ) end
# File lib/tokyo_metro/api/train_operation/info.rb, line 133 def on_schedule? train_operation_text.on_schedule? end
# File lib/tokyo_metro/api/train_operation/info.rb, line 129 def place train_operation_text.place end
# File lib/tokyo_metro/api/train_operation/info.rb, line 121 def text_en if on_schedule? "Trains are operated on schedule." else nil end end
# File lib/tokyo_metro/api/train_operation/info.rb, line 117 def text_in_api train_operation_text.in_api end
インスタンスの情報をハッシュにして返すメソッド @return [Hash]
# File lib/tokyo_metro/api/train_operation/info.rb, line 76 def to_h h = Hash.new set_data_to_hash( h , "odpt:operator" , @operator ) set_data_to_hash( h , "odpt:railway" , @railway_line ) set_data_to_hash( h , "\@id" , @id_urn ) 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:timeOfOrigin" , @time_of_origin.to_s ) set_data_to_hash( h , "odpt:trainInformationStatus" , @status ) set_data_to_hash( h , "odpt:trainInformationText" , @text ) h end
@!endgroup
# File lib/tokyo_metro/api/train_operation/info.rb, line 95 def train_operation_status if @status.present? status_in_db = ::TrainOperation::Status.find_by( in_api: @status ) if status_in_db.present? status_in_db else ::TrainOperation::Status.create( in_api: @status , id: ::TrainOperation::Status.pluck(:id).max + 1 ) end else nil end end
# File lib/tokyo_metro/api/train_operation/info.rb, line 108 def train_operation_text text_in_db = ::TrainOperation::Text.find_by( in_api: @text ) if text_in_db.present? text_in_db else ::TrainOperation::Text.create( in_api: @text , id: ::TrainOperation::Text.pluck(:id).max + 1 ) end end
# File lib/tokyo_metro/api/train_operation/info.rb, line 145 def update_train_operation_text_in_db t = train_operation_text return nil end