Sha256: 1e703610701e9d6b4f90c073b9583bb3782f4a9704a9af5654f9a4570ab6dbc9

Contents?: true

Size: 937 Bytes

Versions: 7

Compression:

Stored size: 937 Bytes

Contents

module AngellistApi
  # Defines HTTP request methods
  module Request
    # Perform an HTTP DELETE request
    def delete(path, params={}, options={})
      request(:delete, path, params, options)
    end

    # Perform an HTTP GET request
    def get(path, params={}, options={})
      request(:get, path, params, options)
    end

    def post(path, params={}, options={})
      request(:post, path, params, options)
    end

    private

    # Perform an HTTP request
    def request(method, path, params, options)
      response = connection(options).run_request(method, nil, nil, nil) do |request|
        request.options[:raw] = true if options[:raw]
        case method.to_sym
        when :delete, :get
          request.url(path, params)
        when :post
          request.path = path
          request.body = params unless params.empty?
        end
      end
      options[:raw] ? response : response.body
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
angellist_api-1.1.0 lib/angellist_api/request.rb
angellist_api-1.0.7 lib/angellist_api/request.rb
angellist_api-1.0.6 lib/angellist_api/request.rb
angellist_api-1.0.5 lib/angellist_api/request.rb
angellist_api-1.0.4 lib/angellist_api/request.rb
angellist_api-1.0.3 lib/angellist_api/request.rb
angellist_api-1.0.2 lib/angellist_api/request.rb