Sha256: 2af5676945aec1a2fa1b9d33ec42938cc6240d57a1d1674851827049f1d0286a

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

require 'multi_json'

module EyeEmConnector

  module Request

    def get(endpoint, options={}, only_status=false, status_code=200)
      response = request(:get, endpoint, options)
      if only_status && response
        only_success_status(response,status_code)
      else
        response
      end
    end

    def post(endpoint, options={}, only_status=false, status_code=200)
      response = request(:post, endpoint, options)
      if only_status && response
        only_success_status(response,status_code)
      else
        response
      end
    end

    def put(endpoint, options={}, only_status=false, status_code=200)
      response = request(:put, endpoint, options)
      if only_status && response
        only_success_status(response,status_code)
      else
        response
      end
    end

    def delete(endpoint, options={}, only_status=false, status_code=200)
      response = request(:delete, endpoint, options)
      if only_status && response
        only_success_status(response,status_code)
      else
        response
      end
    end

    def request(method, endpoint, options)
      connection.send(method, endpoint, options) || ''
    end

    def only_success_status(response, status_code=200)
      if response.status == status_code
        true
      else
        response.body
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
EyeEmConnector-0.3.1 lib/EyeEmConnector/request.rb