Class: MusicBrainz::Webservice::ReleaseIncludes

Inherits:
AbstractIncludes show all
Defined in:
lib/rbrainz/webservice/includes.rb

Overview

A specification on how much data to return with a release.

Instance Method Summary collapse

Methods inherited from AbstractIncludes

#to_s

Constructor Details

#initialize(includes) ⇒ ReleaseIncludes

Includes is a hash with the following fields: [:artist] Include track artist (boolean). [:counts] Includes the track number (boolean). [:release_groups] Includes the release groups (boolean). [:release_events] Includes the release events (boolean). [:discs] Include the disc IDs (boolean). [:tracks] Include the release tracks (boolean). [:labels] Include the labels under which the release was published (boolean). [:isrcs] Include the ISRCs of the tracks (boolean). Requires that :tracks is set, too. [:artist_rels] Include artist relationships (boolean). [:release_rels] Include release relationships (boolean). [:track_rels] Include track relationships (boolean). [:label_rels] Include label relationships (boolean). [:url_rels] Include url relationships (boolean). [:track_level_rels] Include the relationships for the single tracks as well (boolean). [:tags] Include tags (boolean). [:user_tags] Include user tags (boolean). [:ratings] Include ratings (boolean). [:user_ratings] Include user ratings (boolean).



147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/rbrainz/webservice/includes.rb', line 147

def initialize(includes)
  Utils.check_options includes, 
      :artist, :counts, :release_groups, :release_events, :discs, :tracks,
      :labels, :isrcs, :artist_rels, :release_rels, :track_rels,
      :label_rels, :url_rels, :track_level_rels, :tags, :user_tags,
      :ratings, :user_ratings
  @parameters = Array.new
  @parameters << 'artist'       if includes[:artist]
  @parameters << 'counts'       if includes[:counts]
  @parameters << 'release-groups' if includes[:release_groups]
  @parameters << 'release-events' if includes[:release_events]
  @parameters << 'discs'        if includes[:discs]
  @parameters << 'tracks'       if includes[:tracks]
  @parameters << 'labels'       if includes[:labels]
  @parameters << 'isrcs'        if includes[:isrcs]
  @parameters << 'artist-rels'  if includes[:artist_rels]
  @parameters << 'release-rels' if includes[:release_rels]
  @parameters << 'track-rels'   if includes[:track_rels]
  @parameters << 'label-rels'   if includes[:label_rels]
  @parameters << 'url-rels'     if includes[:url_rels]
  @parameters << 'track-level-rels' if includes[:track_level_rels]
  @parameters << 'tags'         if includes[:tags]
  @parameters << 'user-tags'    if includes[:user_tags]
  @parameters << 'ratings'      if includes[:ratings]
  @parameters << 'user-ratings' if includes[:user_ratings]
end