Class: TokyoMetro::Api::Point
- Inherits:
-
MetaClass::Hybrid
- Object
- MetaClass::Fundamental
- MetaClass::Hybrid
- TokyoMetro::Api::Point
- Includes:
- ClassNameLibrary::Api::Point
- Defined in:
- lib/tokyo_metro/api/point.rb
Overview
Note:
地物情報 ug:Poiでは、駅出入口情報を提供する。
Note:
地物情報は必ず緯度経度情報(geo:long, geo:lat)を持ち、 /places APIを使用した地理領域絞り込み検索が可能。
地物情報 ug:Poi を扱うクラス
Defined Under Namespace
クラスメソッド - データの取得・保存 collapse
-
.get(http_client, id_urn: nil, title: nil, category_name: nil, parse_json: false, generate_instance: false, to_inspect: false) ⇒ ::Array
地物情報を取得するメソッド.
-
.save(http_client, filename, file_type: :yaml, id_urn: nil, title: nil, category_name: nil, to_inspect: false) ⇒ nil
駅情報を取得し保存するメソッド.
テスト collapse
-
.get_geo_test(http_client, geo_long, geo_lat, radius) ⇒ nil
データ取得のテスト.
-
.get_test(http_client) ⇒ nil
データ取得のテスト.
Methods inherited from MetaClass::Fundamental
factory_for_generating_from_saved_file
Class Method Details
.get(http_client, id_urn: nil, title: nil, category_name: nil, parse_json: false, generate_instance: false, to_inspect: false) ⇒ ::Array
地物情報を取得するメソッド
20 21 22 23 24 25 26 |
# File 'lib/tokyo_metro/api/point.rb', line 20 def self.get( http_client , id_urn: nil , title: nil , category_name: nil , parse_json: false , generate_instance: false , to_inspect: false ) factory_for_getting.process( http_client , id_urn , title , category_name , parse_json , generate_instance , to_inspect ) end |
.get_geo_test(http_client, geo_long, geo_lat, radius) ⇒ nil
データ取得のテスト
76 77 78 79 80 81 82 83 84 |
# File 'lib/tokyo_metro/api/point.rb', line 76 def self.get_geo_test( http_client , geo_long , geo_lat , radius ) puts "● #{get_test_title} (geo)" result = get_geo( http_client , geo_long , geo_lat , radius , to_inspect: true , parse_json: true , generate_instance: true ) puts "(#{result.length})" result.each do | point_info | puts point_info.to_strf puts "" * 2 end end |
.get_test(http_client) ⇒ nil
データ取得のテスト
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/tokyo_metro/api/point.rb', line 53 def self.get_test( http_client ) puts "● #{get_test_title}" ary = get( http_client , to_inspect: true , parse_json: true , generate_instance: true ) puts "" puts "#{ary.length} datas" puts "" h = ary.group_by( &:station_name_in_title ) h.keys.sort.each do | station | h[ station ].sort_by( &:code_in_title ).each do | point_info | puts "(#{ point_info.floor.to_s.rjust(2) }) #{ point_info.category_name } #{ point_info.title.to_s }" end end ary.each do | point_info | puts point_info.to_strf puts "\n" * 2 end end |
.save(http_client, filename, file_type: :yaml, id_urn: nil, title: nil, category_name: nil, to_inspect: false) ⇒ nil
駅情報を取得し保存するメソッド
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/tokyo_metro/api/point.rb', line 36 def self.save( http_client , filename , file_type: :yaml , id_urn: nil , title: nil , category_name: nil , to_inspect: false ) data = get( http_client , id_urn: id_urn , title: title , category_name: category_name , parse_json: true , generate_instance: false , to_inspect: false ) data = eval( data.to_s.gsub( /(?:\r\n|\r)/ ,"\n" ).encode( "UTF-8" ) ) save_data( data , filename , file_type: file_type ) end |