Sha256: 074bbce5412e9d16639aacc1144e41cd9044306152a6ba39ce707a868ed31b74

Contents?: true

Size: 991 Bytes

Versions: 3

Compression:

Stored size: 991 Bytes

Contents

module WhosGotDirt
  module Requests
    module List
      # Requests for lists from the LittleSis API.
      #
      # The `q` parameter matches names and descriptions.
      #
      # @example Supply an API key.
      #   "little_sis_api_key": "..."
      class LittleSis < Request
        # The JSON response has less metadata, e.g. number of results.
        @base_url = 'https://api.littlesis.org/lists.xml'

        # Returns the URL to request.
        #
        # @return [String] the URL to request
        def to_s
          "#{base_url}?#{to_query(convert)}"
        end

        # Converts the MQL parameters to API-specific parameters.
        #
        # @return [Hash] API-specific parameters
        # @see http://api.littlesis.org/documentation#lists
        def convert
          match('q', 'name')
          equal('num', 'limit')

          # API-specific parameters.
          equal('_key', 'little_sis_api_key')

          output
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
whos_got_dirt-0.0.4 lib/whos_got_dirt/requests/list/little_sis.rb
whos_got_dirt-0.0.3 lib/whos_got_dirt/requests/list/little_sis.rb
whos_got_dirt-0.0.2 lib/whos_got_dirt/requests/list/little_sis.rb