Sha256: 49a1fb49fdfe148965913ae9d3df544aede4348ae0f5de3d1958d87212419910

Contents?: true

Size: 1.04 KB

Versions: 11

Compression:

Stored size: 1.04 KB

Contents

module Stream
  class UsersClient < Client
    def add(user_id, data: nil, get_or_create: false)
      data = {
        id: user_id,
        data: data
      }
      params = {
        get_or_create: get_or_create
      }
      make_user_request(:post, params, data)
    end

    def get(user_id)
      uri = "/user/#{user_id}/"
      make_user_request(:get, {}, {}, endpoint: uri)
    end

    def update(user_id, data: nil)
      data = {
        data: data
      }
      uri = "/user/#{user_id}/"
      make_user_request(:put, {}, data, endpoint: uri)
    end

    def delete(user_id)
      uri = "/user/#{user_id}/"
      make_user_request(:delete, {}, {}, endpoint: uri)
    end

    def create_reference(id)
      k = id
      k = id['id'] if id.respond_to?(:keys) && !id['id'].nil?
      "SU:#{k}"
    end

    private

    def make_user_request(method, params, data, endpoint: '/user/')
      auth_token = Stream::Signer.create_jwt_token('users', '*', @api_secret, '*', '*')
      make_request(method, endpoint, auth_token, params, data)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
stream-ruby-5.1.0 lib/stream/users.rb
stream-ruby-5.0.0 lib/stream/users.rb
stream-ruby-4.6.0 lib/stream/users.rb
stream-ruby-4.5.0 lib/stream/users.rb
stream-ruby-4.4.0 lib/stream/users.rb
stream-ruby-4.3.0 lib/stream/users.rb
stream-ruby-4.2.0 lib/stream/users.rb
stream-ruby-4.1.0 lib/stream/users.rb
stream-ruby-4.0.2 lib/stream/users.rb
stream-ruby-4.0.1 lib/stream/users.rb
stream-ruby-4.0.0 lib/stream/users.rb