Class: Shangrila::Sana

Inherits:
Object
  • Object
show all
Defined in:
lib/shangrila/sana.rb

Instance Method Summary collapse

Constructor Details

#initialize(hostname = 'api.moemoe.tokyo') ⇒ Sana

Returns a new instance of Sana.



10
11
12
# File 'lib/shangrila/sana.rb', line 10

def initialize(hostname = 'api.moemoe.tokyo')
  @url = "http://#{hostname}/anime/v1/twitter"
end

Instance Method Details

#follower_history(account, end_date = nil) ⇒ Array

Returns フォロワー数と更新日時のハッシュの配列.

Parameters:

  • account (String)

    データ取得対象のアニメTwitter公式アカウント

  • end_date (int) (defaults to: nil)

    検索対象の終了日時 where update_at < end_date)

Returns:

  • (Array)

    フォロワー数と更新日時のハッシュの配列



25
26
27
28
29
30
31
32
33
34
# File 'lib/shangrila/sana.rb', line 25

def follower_history(, end_date = nil)
  response = nil
  if end_date.nil?
    response = HTTPClient.get(sprintf('%s/follower/history?account=%s', @url, ))
  else
    response = HTTPClient.get(sprintf('%s/follower/history?account=%s&end_date=%d', @url, , end_date))
  end

  JSON.load(response.body)
end

#follower_history_daily(account, days = nil) ⇒ Array

/anime/v1/twitter/follower/history/daily

Parameters:

  • account (String)

    データ取得対象のアニメTwitter公式アカウント

  • days (int) (defaults to: nil)

    取得日数

Returns:

  • (Array)

    フォロワー数と更新日時のハッシュの配列



40
41
42
43
44
# File 'lib/shangrila/sana.rb', line 40

def follower_history_daily(, days = nil)
  response = HTTPClient.get(sprintf('%s/follower/history/daily?account=%s&days=%s', @url, , days))

  JSON.load(response.body)
end

#follower_status(accounts, is_to_json = true) ⇒ Hash

Returns アカウント群をキーとしたハッシュ.

Parameters:

  • accounts (Array)

    データ取得対象のアニメTwitter公式アカウント

  • is_to_json (boolean) (defaults to: true)

    JSONをRubyHashにして返すかどうか

Returns:

  • (Hash)

    アカウント群をキーとしたハッシュ



17
18
19
20
# File 'lib/shangrila/sana.rb', line 17

def follower_status(accounts, is_to_json = true)
  response = HTTPClient.get(sprintf('%s/follower/status?accounts=%s', @url, accounts.join(',')))
  is_to_json ? JSON.load(response.body) : response.body
end