Sha256: 298b369a88ba62ee56912f35faf7b85eb26f526ca81d73c2a8d14290a9b30323

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

module RSpotify

  class Track < Base

    attr_accessor :album, :artists, :available_markets, :disc_number, :duration_ms, :explicit,
                  :external_ids, :name, :popularity, :preview_url, :track_number

    def self.find(id)
      super(id, 'track')
    end

    def self.search(query, limit = 20, offset = 0)
      super(query, 'track', limit, offset)
    end

    def initialize(options = {})
      @available_markets = options['available_markets']
      @disc_number       = options['disc_number']
      @duration_ms       = options['duration_ms']
      @explicit          = options['explicit']
      @external_ids      = options['external_ids']
      @name              = options['name']
      @popularity        = options['popularity']
      @preview_url       = options['preview_url']
      @track_number      = options['track_number']

      if options['album']
        @album = Album.new options['album']
      end

      if options['artists']
        artists = options['artists']
        @artists = artists.map { |a| Artist.new a }
      end

      super(options)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspotify-0.3.1 lib/rspotify/track.rb
rspotify-0.3.0 lib/rspotify/track.rb