Sha256: 05be91904bfe27760d8a486b702cf34677f4e5c8f80bc806b91598b531e50ca3

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

module Rainforest
  class UsersEndpoint < ApiEndpoint

    def new(id)
      User.new({:id => id}, nil, @client)
    end

    def all(params={}, headers={})
      method = ApiMethod.new(:get, "/users", params, headers, @parent)
      json = @client.execute(method)
      ApiList.new(:User, json, method)
    end

    def retrieve(user_id, params={}, headers={})
      params = ParamsBuilder.merge({
        :user_id => user_id,
      }, params)
      method = ApiMethod.new(:get, "/users/:user_id", params, headers, @parent)
      json = @client.execute(method)
      User.new(json, method)
    end

    def update(user_id, params={}, headers={})
      params = ParamsBuilder.merge({
        :user_id => user_id,
      }, params)
      method = ApiMethod.new(:put, "/users/:user_id", params, headers, @parent)
      json = @client.execute(method)
      User.new(json, method)
    end

    def create(params={}, headers={})
      method = ApiMethod.new(:post, "/users", params, headers, @parent)
      json = @client.execute(method)
      User.new(json, method)
    end

    def reset_password(email, params={}, headers={})
      params = ParamsBuilder.merge({
        :email => email,
      }, params)
      method = ApiMethod.new(:post, "/users/reset_password", params, headers, @parent)
      json = @client.execute(method)
      json
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rainforest-2.1.0 lib/rainforest/endpoints/users_endpoint.rb
rainforest-2.0.2 lib/rainforest/endpoints/users_endpoint.rb
rainforest-2.0.1 lib/rainforest/endpoints/users_endpoint.rb
rainforest-2.0.0 lib/rainforest/endpoints/users_endpoint.rb