Class: Shangrila::Sora
- Inherits:
-
Object
- Object
- Shangrila::Sora
- Defined in:
- lib/shangrila/sora.rb
Instance Method Summary collapse
-
#get_flat_data(year, cours, property_list) ⇒ Array
1タイトル1配列としたフラット配列.
-
#get_map_key_id(year, cours) ⇒ HASH
Idをkeyとしたハッシュデータ.
-
#get_map_with_key_title(year, cours, property) ⇒ HASH
タイトルをkey、propertyに対応する値をValueとしたハッシュ.
-
#get_master_data(year, cours) ⇒ JSON-
RubyHash] アニメのマスターデータすべて.
-
#get_master_data_raw(year, cours) ⇒ JSON
アニメのマスターデータすべて.
-
#get_title_list(year, cours) ⇒ JSON
アニメのマスターデータのタイトルリスト.
-
#initialize(hostname = 'api.moemoe.tokyo') ⇒ Sora
constructor
A new instance of Sora.
Constructor Details
#initialize(hostname = 'api.moemoe.tokyo') ⇒ Sora
Returns a new instance of Sora.
10 11 12 |
# File 'lib/shangrila/sora.rb', line 10 def initialize(hostname = 'api.moemoe.tokyo') @url = "http://#{hostname}/anime/v1/master" end |
Instance Method Details
#get_flat_data(year, cours, property_list) ⇒ Array
Returns 1タイトル1配列としたフラット配列.
69 70 71 72 73 74 |
# File 'lib/shangrila/sora.rb', line 69 def get_flat_data(year, cours, property_list) master_list = get_master_data(year, cours) records = master_list.map{|master| property_list.map{|p|master[p]} } records end |
#get_map_key_id(year, cours) ⇒ HASH
Returns idをkeyとしたハッシュデータ.
55 56 57 58 59 60 61 62 63 |
# File 'lib/shangrila/sora.rb', line 55 def get_map_key_id(year, cours) master_list = get_master_data(year, cours) master_map = {} master_list.each{|master| master_map[master['id']] = master} master_map end |
#get_map_with_key_title(year, cours, property) ⇒ HASH
Returns タイトルをkey、propertyに対応する値をValueとしたハッシュ.
42 43 44 45 46 47 48 49 50 |
# File 'lib/shangrila/sora.rb', line 42 def get_map_with_key_title(year, cours, property) master_list = get_master_data(year, cours) master_map = {} master_list.each{|master| master_map[master['title']] = master[property]} master_map end |
#get_master_data(year, cours) ⇒ JSON-
Returns RubyHash] アニメのマスターデータすべて.
25 26 27 28 |
# File 'lib/shangrila/sora.rb', line 25 def get_master_data(year, cours) response = HTTPClient.get(sprintf("%s/%s/%s", @url, year, cours)) JSON.load(response.body) end |
#get_master_data_raw(year, cours) ⇒ JSON
Returns アニメのマスターデータすべて.
17 18 19 20 |
# File 'lib/shangrila/sora.rb', line 17 def get_master_data_raw(year, cours) response = HTTPClient.get(sprintf("%s/%s/%s", @url, year, cours)) response.body end |
#get_title_list(year, cours) ⇒ JSON
Returns アニメのマスターデータのタイトルリスト.
33 34 35 36 |
# File 'lib/shangrila/sora.rb', line 33 def get_title_list(year, cours) master_list = get_master_data(year, cours) master_list.map{|master| master['title']} end |