class Wishlist

Attributes

country[R]
username[R]

Public Class Methods

new(username:, country:) click to toggle source
# File lib/discogs/wishlist/models/wishlist.rb, line 9
def initialize(username:, country:)
  @username = username
  @country = country
end

Public Instance Methods

add_to_wishlist(item) click to toggle source
# File lib/discogs/wishlist/models/wishlist.rb, line 14
def add_to_wishlist(item)
  variation = AlbumVariation.new(item)

  album = get_album_from_variation(variation)

  album.add_variation(variation)

  wishlist.sort_by!(&:artist)
end
each(&block) click to toggle source
# File lib/discogs/wishlist/models/wishlist.rb, line 24
def each(&block)
  wishlist.each(&block)
end

Private Instance Methods

create_new_album(variation) click to toggle source
# File lib/discogs/wishlist/models/wishlist.rb, line 42
def create_new_album(variation)
  album = Album.new(variation.master_id)

  wishlist << album

  album
end
get_album_from_variation(variation) click to toggle source
# File lib/discogs/wishlist/models/wishlist.rb, line 34
def get_album_from_variation(variation)
  album = wishlist.find { |wishlist_album| wishlist_album.id == variation.master_id }

  return create_new_album(variation) if album.nil?

  album
end
wishlist() click to toggle source
# File lib/discogs/wishlist/models/wishlist.rb, line 30
def wishlist
  @wishlist ||= []
end