Class: URLBuilder
- Inherits:
-
Object
- Object
- URLBuilder
- Defined in:
- lib/foxit/url_builder.rb
Instance Attribute Summary collapse
-
#root ⇒ Object
readonly
Returns the value of attribute root.
Instance Method Summary collapse
- #anime_by_id(id) ⇒ Object
- #anime_by_slug(slug) ⇒ Object
-
#initialize ⇒ URLBuilder
constructor
A new instance of URLBuilder.
- #library(id, type = 'Anime', status = 'completed', limit = 500) ⇒ Object
- #media(entry_id) ⇒ Object
Constructor Details
#initialize ⇒ URLBuilder
9 10 11 |
# File 'lib/foxit/url_builder.rb', line 9 def initialize @root = "https://kitsu.io/api/edge/" end |
Instance Attribute Details
#root ⇒ Object (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 |