Class: Twitch::GamesResource

Inherits:
Resource show all
Defined in:
lib/twitch/resources/games.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Twitch::Resource

Instance Method Details

#retrieve(id: nil, ids: nil, name: nil, names: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/twitch/resources/games.rb', line 3

def retrieve(id: nil, ids: nil, name: nil, names: nil)
  raise "Either id, ids, name or names is required" unless !id.nil? || !ids.nil? || !name.nil? || !names.nil?

  if id
    response = get_request("games", params: { id: id })
  elsif ids
    response = get_request("games", params: { id: ids })
  elsif names
    response = get_request("games", params: { name: names })
  else
    response = get_request("games", params: { name: name })
  end

  body = response.body.dig("data")
  if id || name && body.count == 1
    Game.new body[0]
  elsif ids || names && body.count > 1
    Collection.from_response(response, type: Game)
  else
    nil
  end
end

#top(**params) ⇒ Object



26
27
28
29
# File 'lib/twitch/resources/games.rb', line 26

def top(**params)
  response = get_request("games/top", params: params)
  Collection.from_response(response, type: Game)
end