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