class AlbumVariation

Attributes

variation[R]

Public Class Methods

new(variation) click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 2
def initialize(variation)
  @variation = variation
end

Public Instance Methods

add_items_for_sale(for_sale_items) click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 12
def add_items_for_sale(for_sale_items)
  new_items = items_for_sale.dup + for_sale_items.compact.sort_by { |info| info[:price] }

  @items_for_sale = new_items
end
artist() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 42
def artist
  variation.basic_information.artists.map(&:name)&.join(", ")
end
id() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 18
def id
  variation.id
end
items_for_sale_count() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 30
def items_for_sale_count
  @items_for_sale.length
end
lowest_price() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 34
def lowest_price
  @lowest_price ||= @items_for_sale.first
end
master_id() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 26
def master_id
  variation.basic_information.master_id
end
saleable?() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 6
def saleable?
  return false unless @items_for_sale

  @items_for_sale.length.positive?
end
title() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 38
def title
  variation.basic_information.title
end
url() click to toggle source
# File lib/discogs/wishlist/models/album_variation.rb, line 22
def url
  variation.basic_information.resource_url
end

Private Instance Methods

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