class QuickBlox::User

Attributes

blob_id[RW]
created_at[RW]
custom_data[RW]
email[RW]
external_user_id[RW]
facebook_id[RW]
full_name[RW]
id[RW]
last_request_at[RW]
login[RW]
owner_id[RW]
phone[RW]
twitter_digits_id[RW]
twitter_id[RW]
updated_at[RW]
user_tags[RW]
website[RW]

Public Class Methods

create(application_session, options) click to toggle source
# File lib/quick_blox/user.rb, line 7
def self.create(application_session, options)

  raise QuickBlox::Exceptions::MissingConfiguration unless QuickBlox.configuration

  RestClient::Request.execute(
      method: :post,
      url: "#{ QuickBlox.configuration.host }/users.json",
      payload: {
          user: {
            login: options[:login],
            password: options[:password]
          }
      }.to_json,
      headers: {
          'Content-Type': 'application/json',
          'QuickBlox-REST-API-Version': QuickBlox.configuration.api_version,
          'QB-Token': application_session.token
      }
  ){ |response, request, result|
    response = JSON.parse(response)

    case result.code.to_i
      when 201
        instance = QuickBlox::User.new
        response['user'].each do |k, v|
          instance.instance_variable_set "@#{k}", v
        end
        return instance
      else
        raise QuickBlox::Exceptions::Response, response['errors']
    end
  }
end
show(application_session, user_id) click to toggle source
# File lib/quick_blox/user.rb, line 41
def self.show(application_session, user_id)
  RestClient::Request.execute(
      method: :get,
      url: "#{ QuickBlox.configuration.host }/users/#{ user_id }.json",
      headers: {
          'QuickBlox-REST-API-Version': QuickBlox.configuration.api_version,
          'QB-Token': application_session.token
      }
  ){ |response, request, result|
    response = JSON.parse(response)

    case result.code.to_i
      when 200
        instance = QuickBlox::User.new
        response['user'].each do |k, v|
          instance.instance_variable_set "@#{k}", v
        end
        return instance
      when 404
        raise QuickBlox::Exceptions::ResourceNotFound
      else
        raise QuickBlox::Exceptions::Response, response['errors']
    end
  }
end

Public Instance Methods

destroy(application_session) click to toggle source
# File lib/quick_blox/user.rb, line 67
def destroy(application_session)
  RestClient::Request.execute(
      method: :delete,
      url: "#{ QuickBlox.configuration.host }/users/#{ self.id }.json",
      headers: {
          'QuickBlox-REST-API-Version': QuickBlox.configuration.api_version,
          'QB-Token': application_session.token
      }
  ){ |response, request, result|
    case result.code.to_i
      when 200

      else
        response = JSON.parse(response)
        raise QuickBlox::Exceptions::Response, response['errors']
    end
  }
end