Sha256: 79e5a8b89fba04e2faa0227f3c9893f06b975536198bf1a30f0f2ac521cccd09

Contents?: true

Size: 581 Bytes

Versions: 3

Compression:

Stored size: 581 Bytes

Contents

require 'open-uri'
require 'json'

module ItunesApi
  # Allow requests to the iTunes API.
  module Request

    def response
      JSON.parse(request)
    end

    private

    def request
      @request ||= open(url).read
    end

    def query
      Addressable::URI.new(
        query_values: query_values
      ).query
    end

    def query_values
      {
        country: COUNTRY_CODE,
        limit: LIMIT,
        media: 'music'
      }
    end

    def results
      response.fetch('results', [])
    end

    def url
      "#{BASE_URL}/search?#{query}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
itunes_api-0.2.0 lib/itunes_api/request.rb
itunes_api-0.1.0 lib/itunes_api/request.rb
itunes_api-0.0.4 lib/itunes_api/request.rb