Sha256: b184a8799b610be82d6a22b6b52a7ae07f58be6f064ddebe1d9f546f2b449947

Contents?: true

Size: 777 Bytes

Versions: 4

Compression:

Stored size: 777 Bytes

Contents

module ItunesApi
  module Music
    # Wrapper for album results.
    class Album
      attr_reader_init :data
      private :data

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

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

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

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

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

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
itunes_api-1.0.0 lib/itunes_api/music/album.rb
itunes_api-0.8.2 lib/itunes_api/music/album.rb
itunes_api-0.8.1 lib/itunes_api/music/album.rb
itunes_api-0.8.0 lib/itunes_api/music/album.rb