Class: Kitsu::User
- Inherits:
-
Object
- Object
- Kitsu::User
- Defined in:
- lib/kitsu/user.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
Class Method Summary collapse
Instance Method Summary collapse
- #anime(**filters) ⇒ Object
- #anime_related ⇒ Object
-
#initialize(data) ⇒ User
constructor
A new instance of User.
- #library_entries ⇒ Object
Constructor Details
#initialize(data) ⇒ User
Returns a new instance of User.
5 6 7 |
# File 'lib/kitsu/user.rb', line 5 def initialize(data) @data = data end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
3 4 5 |
# File 'lib/kitsu/user.rb', line 3 def data @data end |
Class Method Details
Instance Method Details
#anime(**filters) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/kitsu/user.rb', line 9 def anime(**filters) anime = .map do |parsed| Kitsu::Anime.new(parsed) end anime.select do |a| filters.all? do |key, value| a.data['attributes'][key.to_s] == value end end end |
#anime_related ⇒ Object
21 22 23 |
# File 'lib/kitsu/user.rb', line 21 def library_entries.map(&:related_anime).flatten end |
#library_entries ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/kitsu/user.rb', line 25 def library_entries parsed = API.get(@data['relationships']['libraryEntries']['links']['related']) library_entries = [parsed] loop do parsed = API.get(parsed['links']['next']) library_entries << parsed break unless parsed['links'].key? 'next' end library_entries.flatten.map do |parsed| Kitsu::LibraryEntry.new(parsed) end end |