Class: Sevendigital::Artist
- Inherits:
-
SevendigitalObject
- Object
- SevendigitalObject
- Sevendigital::Artist
- Defined in:
- lib/sevendigital/model/artist.rb
Overview
Extended properties
with lazy loading enabled these will be automatically populated by calling the method in brackets additional options can be passed in when accessing lazy loaded properties, e.g.
artist.releases({:page_size => 5, :image_size =>250})
Instance Attribute Summary collapse
-
#appears_as ⇒ String
Artist’s name as it appears on the release or track (only available when artist is linked from release or track).
-
#id ⇒ Integer
7digital artist ID.
-
#name ⇒ String
artist’s name.
Instance Method Summary collapse
-
#get_details(options = {}) ⇒ Artist
populates all available details on artist by calling artist/details API method.
-
#get_releases(options = {}) ⇒ Array<Release>
releases by this artist retrieved by calling artist/releases API method.
-
#get_similar(options = {}) ⇒ Array<Track>
artists similar to this artist retrieved by calling artist/similar API method.
-
#get_tags(options = {}) ⇒ Array<Tag>
tags associated with this artist retrieved by calling artist/tags API method.
-
#get_top_tracks(options = {}) ⇒ Array<Track>
top tracks by this artist retrieved by calling artist/topTracks API method.
-
#image(image_size = nil) ⇒ String
Artist image URL (optional lazy-loaded property).
-
#popularity ⇒ decimal
popularity of the artist (lazy loaded using #get_tags).
-
#releases ⇒ Array<Release>
artist’s releases (lazy loaded using get_releases).
-
#similar ⇒ Array<Artist>
list of artists similar to this artist (lazy loaded using #get_similar).
-
#sort_name ⇒ String
Artist name used for sorting, e.g.
-
#tags ⇒ Array<Artist>
list of tags associated with the artist (lazy loaded using #get_tags).
-
#top_tracks ⇒ Array<Track>
artist’s top tracks (lazy loaded using get_top_tracks).
-
#url ⇒ String
Artist buy link URL (optional lazy-loaded property).
-
#various? ⇒ Boolean
does this artist represents various artists?.
Methods inherited from SevendigitalObject
#copy_basic_properties_from, #initialize
Constructor Details
This class inherits a constructor from Sevendigital::SevendigitalObject
Instance Attribute Details
#appears_as ⇒ String
Artist’s name as it appears on the release or track (only available when artist is linked from release or track)
21 22 23 |
# File 'lib/sevendigital/model/artist.rb', line 21 def appears_as @appears_as end |
#id ⇒ Integer
7digital artist ID
13 14 15 |
# File 'lib/sevendigital/model/artist.rb', line 13 def id @id end |
#name ⇒ String
artist’s name
17 18 19 |
# File 'lib/sevendigital/model/artist.rb', line 17 def name @name end |
Instance Method Details
#get_details(options = {}) ⇒ Artist
populates all available details on artist by calling artist/details API method
62 63 64 65 66 |
# File 'lib/sevendigital/model/artist.rb', line 62 def get_details(={}) artist_with_details = @api_client.artist.get_details(@id, ) copy_basic_properties_from(artist_with_details) artist_with_details end |
#get_releases(options = {}) ⇒ Array<Release>
releases by this artist retrieved by calling artist/releases API method
70 71 72 |
# File 'lib/sevendigital/model/artist.rb', line 70 def get_releases(={}) @api_client.artist.get_releases(@id, ) end |
#get_similar(options = {}) ⇒ Array<Track>
artists similar to this artist retrieved by calling artist/similar API method
82 83 84 |
# File 'lib/sevendigital/model/artist.rb', line 82 def get_similar(={}) @similar = @api_client.artist.get_similar(@id, ) end |
#get_tags(options = {}) ⇒ Array<Tag>
tags associated with this artist retrieved by calling artist/tags API method
88 89 90 |
# File 'lib/sevendigital/model/artist.rb', line 88 def (={}) @api_client.artist.(@id, ) end |
#get_top_tracks(options = {}) ⇒ Array<Track>
top tracks by this artist retrieved by calling artist/topTracks API method
76 77 78 |
# File 'lib/sevendigital/model/artist.rb', line 76 def get_top_tracks(={}) @api_client.artist.get_top_tracks(@id, ) end |
#image(image_size = nil) ⇒ String
Artist image URL (optional lazy-loaded property)
29 |
# File 'lib/sevendigital/model/artist.rb', line 29 sevendigital_basic_property :image |
#popularity ⇒ decimal
popularity of the artist (lazy loaded using #get_tags)
37 |
# File 'lib/sevendigital/model/artist.rb', line 37 sevendigital_basic_property :popularity |
#releases ⇒ Array<Release>
artist’s releases (lazy loaded using get_releases)
41 |
# File 'lib/sevendigital/model/artist.rb', line 41 sevendigital_extended_property :releases |
#similar ⇒ Array<Artist>
list of artists similar to this artist (lazy loaded using #get_similar)
49 |
# File 'lib/sevendigital/model/artist.rb', line 49 sevendigital_extended_property :similar |
#sort_name ⇒ String
Artist name used for sorting, e.g. Beatles, The (optional lazy-loaded property)
25 |
# File 'lib/sevendigital/model/artist.rb', line 25 sevendigital_basic_property :sort_name |
#tags ⇒ Array<Artist>
list of tags associated with the artist (lazy loaded using #get_tags)
53 |
# File 'lib/sevendigital/model/artist.rb', line 53 sevendigital_extended_property :tags |
#top_tracks ⇒ Array<Track>
artist’s top tracks (lazy loaded using get_top_tracks)
45 |
# File 'lib/sevendigital/model/artist.rb', line 45 sevendigital_extended_property :top_tracks |
#url ⇒ String
Artist buy link URL (optional lazy-loaded property)
33 |
# File 'lib/sevendigital/model/artist.rb', line 33 sevendigital_basic_property :url |
#various? ⇒ Boolean
does this artist represents various artists?
94 95 96 97 98 99 100 101 |
# File 'lib/sevendigital/model/artist.rb', line 94 def various? joined_names = "#{name} #{appears_as}".downcase various_variations = ["vario", "v???????????????rio", "v.a", "vaious", "varios" "vaious", "varoius", "variuos", \ "soundtrack", "karaoke", "original cast", "diverse artist"] various_variations.each{|various_variation| return true if joined_names.include?(various_variation)} return false end |