Class: ItunesApi::Music::Album

Inherits:
Object
  • Object
show all
Defined in:
lib/itunes_api/music/album.rb

Overview

Wrapper for album results.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Album

Returns a new instance of Album.



5
6
7
# File 'lib/itunes_api/music/album.rb', line 5

def initialize(data)
  @data = data
end

Class Method Details

.build(albums_data) ⇒ Object



9
10
11
12
13
# File 'lib/itunes_api/music/album.rb', line 9

def self.build(albums_data)
  albums_data.map { |data| new(data) }
             .sort_by(&:released)
             .reverse
end

Instance Method Details

#artwork ⇒ Object



15
16
17
# File 'lib/itunes_api/music/album.rb', line 15

def artwork
  @artwork ||= data[:artworkUrl100]
end

#collection_id ⇒ Object



19
20
21
# File 'lib/itunes_api/music/album.rb', line 19

def collection_id
  @collection_id ||= data[:collectionId]
end

#name ⇒ Object



23
24
25
# File 'lib/itunes_api/music/album.rb', line 23

def name
  @name ||= data[:collectionName]
end

#released ⇒ Object



27
28
29
# File 'lib/itunes_api/music/album.rb', line 27

def released
  @released ||= Date.parse(data[:releaseDate])
end

#to_hash ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/itunes_api/music/album.rb', line 31

def to_hash
  {
    artwork: artwork,
    collection_id: collection_id,
    name: name,
    released: released,
  }
end