Class: AppleMusic::Song::Attributes

Inherits:
Object
  • Object
show all
Defined in:
lib/apple_music/song/attributes.rb

Overview

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(props = {}) ⇒ Attributes

Returns a new instance of Attributes.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/apple_music/song/attributes.rb', line 13

def initialize(props = {})
  @album_name = props['albumName'] # required
  @artist_name = props['artistName'] # required
  @artwork = Artwork.new(props['artwork']) # required
  @composer_name = props['composerName']
  @content_rating = props['contentRating']
  @disc_number = props['discNumber'] # required
  @duration_in_millis = props['durationInMillis']
  @editorial_notes = EditorialNotes.new(props['editorialNotes']) if props['editorialNotes']
  @genre_names = props['genreNames'] # required
  @isrc = props['isrc'] # required
  @movement_count = props['movementCount']
  @movement_name = props['movementName']
  @movement_number = props['movementNumber']
  @name = props['name'] # required
  @play_params = PlayParameters.new(props['playParams']) if props['playParams']
  @previews = Array(props['previews']).map { |attrs| Preview.new(attrs) } # required
  @release_date = begin
                    props['releaseDate'].nil? ? nil : Date.parse(props['releaseDate'])
                  rescue ArgumentError
                    Date.parse("#{props['releaseDate']}/01/01")
                  end
  @track_number = props['trackNumber'] # required
  @url = props['url'] # required
  @work_name = props['workName']
end

Instance Attribute Details

#album_nameObject (readonly)

Returns the value of attribute album_name.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def album_name
  @album_name
end

#artist_nameObject (readonly)

Returns the value of attribute artist_name.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def artist_name
  @artist_name
end

#artworkObject (readonly)

Returns the value of attribute artwork.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def artwork
  @artwork
end

#composer_nameObject (readonly)

Returns the value of attribute composer_name.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def composer_name
  @composer_name
end

#content_ratingObject (readonly)

Returns the value of attribute content_rating.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def content_rating
  @content_rating
end

#disc_numberObject (readonly)

Returns the value of attribute disc_number.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def disc_number
  @disc_number
end

#duration_in_millisObject (readonly)

Returns the value of attribute duration_in_millis.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def duration_in_millis
  @duration_in_millis
end

#editorial_notesObject (readonly)

Returns the value of attribute editorial_notes.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def editorial_notes
  @editorial_notes
end

#genre_namesObject (readonly)

Returns the value of attribute genre_names.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def genre_names
  @genre_names
end

#isrcObject (readonly)

Returns the value of attribute isrc.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def isrc
  @isrc
end

#movement_countObject (readonly)

Returns the value of attribute movement_count.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def movement_count
  @movement_count
end

#movement_nameObject (readonly)

Returns the value of attribute movement_name.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def movement_name
  @movement_name
end

#movement_numberObject (readonly)

Returns the value of attribute movement_number.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def movement_number
  @movement_number
end

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def name
  @name
end

#play_paramsObject (readonly)

Returns the value of attribute play_params.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def play_params
  @play_params
end

#previewsObject (readonly)

Returns the value of attribute previews.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def previews
  @previews
end

#release_dateObject (readonly)

Returns the value of attribute release_date.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def release_date
  @release_date
end

#track_numberObject (readonly)

Returns the value of attribute track_number.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def track_number
  @track_number
end

#urlObject (readonly)

Returns the value of attribute url.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def url
  @url
end

#work_nameObject (readonly)

Returns the value of attribute work_name.



7
8
9
# File 'lib/apple_music/song/attributes.rb', line 7

def work_name
  @work_name
end