Class: Lotr::Sdk::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/lotr/sdk/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(key) ⇒ Client

Returns a new instance of Client.



6
7
8
9
# File 'lib/lotr/sdk/client.rb', line 6

def initialize(key)
  @key = key
  @base_url = 'https://the-one-api.dev/v2'
end

Instance Method Details

#book(id:) ⇒ Object



30
31
32
# File 'lib/lotr/sdk/client.rb', line 30

def book(id:)
  Dataset.new( query_api("book/#{id}") )
end

#book_list(page: 1) ⇒ Object

Books



26
27
28
# File 'lib/lotr/sdk/client.rb', line 26

def book_list(page:1)
  Dataset.new( query_api('book',page) )
end

#character(id:) ⇒ Object



48
49
50
# File 'lib/lotr/sdk/client.rb', line 48

def character(id:)
  Dataset.new( query_api("character/#{id}") )
end

#character_list(page: 1) ⇒ Object

Characters



44
45
46
# File 'lib/lotr/sdk/client.rb', line 44

def character_list(page:1)
  Dataset.new( query_api('character',page) )
end

#movie(id:) ⇒ Object



21
22
23
# File 'lib/lotr/sdk/client.rb', line 21

def movie(id:)
  Dataset.new( query_api("movie/#{id}") )
end

#movie_list(page: 1) ⇒ Object

Movies



17
18
19
# File 'lib/lotr/sdk/client.rb', line 17

def movie_list(page:1)
  Dataset.new( query_api('movie',page) )
end

#query_api(endpoint, page = nil) ⇒ Object



11
12
13
14
# File 'lib/lotr/sdk/client.rb', line 11

def query_api(endpoint,page=nil)
  page_param = "page=#{page}" if page
  HTTP.auth("Bearer #{@key}").get("#{@base_url}/#{endpoint}?#{page_param}")
end

#quote(id:) ⇒ Object



39
40
41
# File 'lib/lotr/sdk/client.rb', line 39

def quote(id:)
  Dataset.new( query_api("quote/#{id}") )
end

#quote_list(page: 1) ⇒ Object

Quotes



35
36
37
# File 'lib/lotr/sdk/client.rb', line 35

def quote_list(page:1)
  Dataset.new( query_api('quote',page) )
end