class Shangrila::Sora
Public Class Methods
new(hostname = 'api.moemoe.tokyo')
click to toggle source
# File lib/shangrila/sora.rb, line 10 def initialize(hostname = 'api.moemoe.tokyo') @url = "http://#{hostname}/anime/v1/master" end
Public Instance Methods
get_flat_data(year, cours, property_list)
click to toggle source
@param [Int] year データ取得対象のアニメの年 @param [Int] cours データ取得対象のアニメの年のクール番号 1-4 @param [property] データ取得対象のプロパティリスト @return [Array] 1タイトル1配列としたフラット配列
# 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)
click to toggle source
@param [Int] year データ取得対象のアニメの年 @param [Int] cours データ取得対象のアニメの年のクール番号 1-4 @return [HASH] idをkeyとしたハッシュデータ
# 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)
click to toggle source
@param [Int] year データ取得対象のアニメの年 @param [Int] cours データ取得対象のアニメの年のクール番号 1-4 @param [property] データ取得対象のプロパティ @return [HASH] タイトルをkey、propertyに対応する値をValueとしたハッシュ
# 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)
click to toggle source
@param [Int] year データ取得対象のアニメの年 @param [Int] cours データ取得対象のアニメの年のクール番号 1-4 @return [JSON->RubyHash] アニメのマスターデータすべて
# 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)
click to toggle source
@param [Int] year データ取得対象のアニメの年 @param [Int] cours データ取得対象のアニメの年のクール番号 1-4 @return [JSON] アニメのマスターデータすべて
# 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)
click to toggle source
@param [Int] year データ取得対象のアニメの年 @param [Int] cours データ取得対象のアニメの年のクール番号 1-4 @return [JSON] アニメのマスターデータのタイトルリスト
# 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