Sha256: f9763c5768686aebeebef14e03a7e949d06445e82efceb27b3d733a385433dae

Contents?: true

Size: 919 Bytes

Versions: 2

Compression:

Stored size: 919 Bytes

Contents

# -*- encoding: utf-8 -*-

module MusicBrainz
  class Release < Base

    field :id, String
    field :title, String
    field :status, String
    field :format, String
    field :date, Time
    field :country, String

    def tracks
      @tracks ||= nil
      if @tracks.nil? and !id.nil?
        @tracks = self.class.load({
          :parser => :release_tracks,
          :create_models => MusicBrainz::Track
        }, {
          :resource => :release,
          :id => id,
          :inc => [:recordings, :media],
          :limit => 100
        })
        @tracks.sort{ |a, b| a.position <=> b.position }
      end
      @tracks
    end

    class << self
      def find(mbid)
        load({
          :parser => :release_model,
          :create_model => MusicBrainz::Release
        }, {
          :resource => :release,
          :id => mbid,
          :inc => [:media]
        })
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
musicbrainz-0.7.1 lib/musicbrainz/release.rb
musicbrainz-0.7.0 lib/musicbrainz/release.rb