Sha256: 71580526d837f04c87d9a8cefd6547c74a16a63521fdd9b94faced08ffeb5d5c

Contents?: true

Size: 828 Bytes

Versions: 4

Compression:

Stored size: 828 Bytes

Contents

module Capgun
  # Defines HTTP request methods
  module Request

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

    # Perform an HTTP POST request
    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 :get
          request.url(path, params)
        when :post
          request.path = path
          request.body = params.to_json unless params.empty?
        end
      end
      options[:raw] ? response : response.body
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
capgun-0.1.2 lib/capgun/request.rb
capgun-0.1.1 lib/capgun/request.rb
capgun-0.1.0 lib/capgun/request.rb
capgun-0.0.3 lib/capgun/request.rb