Class: TokyoMetro::Api::TrainOperation

Inherits:
MetaClass::RealTime show all
Includes:
ClassNameLibrary::Api::TrainOperation
Defined in:
lib/tokyo_metro/api/train_operation.rb

Overview

Note:

列車運行情報を示す。基本的に発生時刻、発生箇所、現在状況を示す。

Note:

平常運転時でも「平常」などの文字列を含んだ文字列を返す。

Note:

平常時かそれ以外かは、odpt:trainInformationStatus プロパティの存在有無で判定可能である。

列車運行情報 odpt:TrainInformation を扱うクラス

Defined Under Namespace

Classes: Info, List

クラスメソッド - データの取得・保存 collapse

テスト collapse

Methods inherited from MetaClass::Fundamental

factory_for_generating_from_saved_file

Class Method Details

.get(http_client, id_urn: nil, operator: nil, railway_line: nil, info_status: nil, info_text: nil, parse_json: false, generate_instance: false, to_inspect: false) ⇒ ::Array

Note:

運行ステータスは、平常時は省略。運行情報が存在する場合は「運行情報あり」を格納。遅延などの情報を取得可能な場合は、「遅延」等のテキストを格納。

列車運行情報を取得するメソッド



24
25
26
27
28
29
30
31
32
33
# File 'lib/tokyo_metro/api/train_operation.rb', line 24

def self.get( http_client ,
  id_urn: nil , operator: nil , railway_line: nil , info_status: nil , info_text: nil ,
  parse_json: false , generate_instance: false , to_inspect: false )

  factory_for_getting.process(
    http_client , id_urn , operator , railway_line ,
    info_status , info_text ,
    parse_json , generate_instance , to_inspect
  )
end

.get_test(http_client) ⇒ nil

データ取得のテスト



71
72
73
74
75
76
77
# File 'lib/tokyo_metro/api/train_operation.rb', line 71

def self.get_test( http_client )
  puts "● Train operation"
  puts ""
  train_operation_info = get( http_client , to_inspect: true , parse_json: true , generate_instance: true )
  puts train_operation_info.sort_by_railway_line_order.to_strf
  puts "\n" * 3
end

.save(http_client, filename, file_type: :yaml, id_urn: nil, operator: nil, railway_line: nil, info_status: nil, info_text: nil, to_inspect: false) ⇒ nil

Note:

運行ステータスは、平常時は省略。運行情報が存在する場合は「運行情報あり」を格納。遅延などの情報を取得可能な場合は、「遅延」等のテキストを格納。

列車運行情報を取得し保存するメソッド



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/tokyo_metro/api/train_operation.rb', line 46

def self.save( http_client , filename , file_type: :yaml ,
  id_urn: nil , operator: nil , railway_line: nil , info_status: nil , info_text: nil ,
  to_inspect: false )

  data = get(
    http_client ,
    id_urn: id_urn ,
    operator: operator ,
    railway_line: railway_line ,
    info_status: info_status ,
    info_text: info_text ,
    parse_json: true ,
    generate_instance: false ,
    to_inspect: to_inspect
  )

  # data = eval( data.to_s.gsub( /(?:\r\n|\r)/ ,"\n" ).encode( "UTF-8" ) )

  save_data( data , filename , file_type: file_type )
end