Class: URLBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/foxit/url_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeURLBuilder



9
10
11
# File 'lib/foxit/url_builder.rb', line 9

def initialize
  @root = "https://kitsu.io/api/edge/"
end

Instance Attribute Details

#rootObject (readonly)

Returns the value of attribute root.



7
8
9
# File 'lib/foxit/url_builder.rb', line 7

def root
  @root
end

Instance Method Details

#anime_by_id(id) ⇒ Object



34
35
36
# File 'lib/foxit/url_builder.rb', line 34

def anime_by_id id
  "#{@root}/anime/#{id}"
end

#anime_by_slug(slug) ⇒ Object



39
40
41
# File 'lib/foxit/url_builder.rb', line 39

def anime_by_slug slug
  "#{@root}/anime?filter[slug]=#{slug}"
end

#library(id, type = 'Anime', status = 'completed', limit = 500) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/foxit/url_builder.rb', line 19

def library id, type='Anime', status='completed', limit=500
  uri = Addressable::URI.parse("#{@root}library-entries")

  uri_query = {
    "filter[user_id]" => id,
    "filter[media_type]" => type,
    "filter[status]" => status,
    "page[limit]" => limit
  }
  uri.query_values = uri_query
  
  uri.to_s
end

#media(entry_id) ⇒ Object



14
15
16
# File 'lib/foxit/url_builder.rb', line 14

def media entry_id
  "#{@root}/library-entries/#{entry_id}/relationships/media"
end