module ItunesApi::Request

Allow requests to the iTunes API.

Public Instance Methods

results() click to toggle source
# File lib/itunes_api/request.rb, line 8
def results
  @results ||= parsed_response.fetch('results') { [] }
end

Private Instance Methods

connection() click to toggle source
# File lib/itunes_api/request.rb, line 14
def connection
  Faraday.new(url: BASE_URL)
end
parsed_response() click to toggle source
# File lib/itunes_api/request.rb, line 18
def parsed_response
  JSON.parse(response.body)
rescue JSON::ParserError
  { 'results' => [] }
end
response() click to toggle source
# File lib/itunes_api/request.rb, line 24
def response
  connection.get(action, query)
end
unwrapped_results(type) click to toggle source
# File lib/itunes_api/request.rb, line 28
def unwrapped_results(type)
  return [] unless results.any?

  results.find_all do |wrappers|
    wrappers['wrapperType'] == type.to_s
  end
end