module Genius class Artist < Resource attr_reader :name, :image_url, :id, :url, :user, :tracking_paths, :description def parse_resource! @id = resource["id"] @name = resource["name"] @image_url = resource["image_url"] @url = resource["url"] @user = Account.from_hash(resource["user"]) @description = formatted_attribute("description") @tracking_paths = resource["tracking_paths"] end def songs(params: {}, headers: {}) headers = self.class.default_headers.merge(headers) params = self.class.default_params.merge(id: id).merge(params) response = self.class.http_get("/#{resource_name}s/#{id}/songs", query: params, headers: headers) response.parsed_response["response"]["songs"].map do |song| Song.from_hash(song, text_format: text_format) end end end end