Class: MusicBrainz::ReleaseGroup
- Defined in:
- lib/musicbrainz/models/release_group.rb
Class Method Summary collapse
- .find(id) ⇒ Object
- .find_by_artist_and_title(artist_name, title, type = nil) ⇒ Object
- .search(artist_name, title, type = nil) ⇒ Object
Instance Method Summary collapse
Methods inherited from BaseModel
Class Method Details
.find(id) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/musicbrainz/models/release_group.rb', line 21 def find(id) client.load(:release_group, { id: id, inc: [:url_rels] }, { binding: :release_group, create_model: :release_group }) end |
.find_by_artist_and_title(artist_name, title, type = nil) ⇒ Object
36 37 38 39 |
# File 'lib/musicbrainz/models/release_group.rb', line 36 def find_by_artist_and_title(artist_name, title, type = nil ) matches = search(artist_name, title, type) matches.nil? || matches.empty? ? nil : find(matches.first[:id]) end |
.search(artist_name, title, type = nil) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/musicbrainz/models/release_group.rb', line 28 def search(artist_name, title, type = nil) if type super({artist: artist_name, releasegroup: title, type: type}) else super({artist: artist_name, releasegroup: title}) end end |
Instance Method Details
#releases ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/musicbrainz/models/release_group.rb', line 12 def releases @releases ||= client.load(:release, { release_group: id, inc: [:media, :release_groups], limit: 100 }, { binding: :release_group_releases, create_models: :release, sort: :date }) unless @id.nil? end |