Sha256: 318ec26bb80f130c6a2229551f04ee247555a3c5e470e4ad4330717498d5b657

Contents?: true

Size: 859 Bytes

Versions: 5

Compression:

Stored size: 859 Bytes

Contents

module Beatport
  module Catalog
    class Release < Item
      has_many :artists, Artist
      has_one :audio_format_fee, AudioFormatFee
      has_many :genres, Genre
      has_one :images, Images
      has_one :label, Label
      has_one :price, Price
      has_one :recommendations, Recommendations
      has_many :tracks, Track
      has_one :tracks_price, Price

      def discount
        tracks_price - price
      end
    
      def self.find(*args)
        Client.retrieve 'releases', Release, *args
      end

      def self.all(options={})
        Client.retrieve 'releases', Release, options
      end    
    
      def self.featured(*args)
        Client.retrieve 'featured/releases', Release, *args
      end

      def tracks(options = {})
        options[:release_id] = id
        @tracks ||= Track.all(options)
      end
    end
  end
end
  

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
beatport-0.1.7 lib/beatport/catalog/release.rb
beatport-0.1.6 lib/beatport/catalog/release.rb
beatport-0.1.5 lib/beatport/catalog/release.rb
beatport-0.1.3 lib/beatport/catalog/release.rb
beatport-0.1.2 lib/beatport/catalog/release.rb