1
0
Fork 0
musicbrainz/lib/musicbrainz/models/release.rb

40 lines
936 B
Ruby

# -*- encoding : utf-8 -*-
module MusicBrainz
class Release < BaseModel
field :id, String
field :type, String
field :title, String
field :status, String
field :format, String
field :date, Date
field :country, String
field :asin, String
field :barcode, String
field :quality, String
def tracks
@tracks ||= client.load(:release, { id: id, inc: [:recordings, :media], limit: 100 }, {
binding: :release_tracks,
create_models: :track,
sort: :position
}) unless @id.nil?
end
class << self
def find(id)
client.load(:release, { id: id, inc: [:media, :release_groups] }, {
binding: :release,
create_model: :release
})
end
def find_by_discid(id)
client.load(:discid, { id: id }, {
binding: :discid_releases,
create_models: :release
})
end
end
end
end