Sha256: f7fe6e28cf7547991c31e4aaed3ddfb72522ba2f2f874b29489ab9b07e84f85b

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

require 'rest_client'

module RestPack::Activity::Proxies
  class Api < RestPack::BaseProxy
    def self.get(id)
      http(:get, "/api/v1/activities/#{id}")
    end

    def self.list(params = {})
      http(:get, "/api/v1/activities", params)
    end

    def self.create(params)
      http(:post, "/api/v1/activities", params)
    end

    def self.update(params)
      http(:put, "/api/v1/activities/#{params[:id]}", params)
    end

    def self.destroy(id)
      http(:delete, "/api/v1/activities/#{id}")
    end

    private

    def self.http(method, path, params = {})
      params = { params: params } if method == :get

      credentials = "#{RestPack::Activity.config.application_id}:#{RestPack::Activity.config.api_token}"

      url = "http://#{credentials}@#{RestPack::Activity.config.api_domain}#{path}"
      RestClient.send(method, url, params) do |rest_response|
        response = RestPack::Service::Response.from_rest(rest_response)
        raise_exceptions_if_required(response)
        response
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
restpack_activity-0.0.8 lib/restpack_activity/proxies/activity/api.rb
restpack_activity-0.0.7 lib/restpack_activity/proxies/activity/api.rb