class ModRest::Client

Public Class Methods

new(attributes = {}) click to toggle source

New initialize object

# File lib/mod_rest.rb, line 8
def initialize(attributes = {})
  @url = URI.parse attributes.fetch(:url, URL)
  @host = attributes.fetch(:host, VIRTUAL_HOST)
  @client = Net::HTTP.new(@url.host, @url.port)
end

Public Instance Methods

add_friend(username, friend_name, nicname = "") click to toggle source

add buddy and auto subscription

# File lib/mod_rest.rb, line 77
def add_friend(username, friend_name, nicname = "")
  nic = nicname.blank? ? username : nicname
  data = "add_rosteritem #{username} #{@host} #{friend_name} #{@host } #{nic} Match both"
  response(data)
end
change_password(username, new_password) click to toggle source

Change user's password Take params username and new password

# File lib/mod_rest.rb, line 30
def change_password(username, new_password)
  data = "change_password #{username} #{@host} #{new_password}"
  response(data)
end
connected_users_number() click to toggle source

Get the number of established sessions

# File lib/mod_rest.rb, line 42
def connected_users_number
  data = "connected_users_number"
  response(data)
end
delete_old_messages(day) click to toggle source

Delete offline messages older than the given days.

# File lib/mod_rest.rb, line 54
def delete_old_messages day
  data = "delete_old_messages #{day}"
  response(data)
end
get_friends(username) click to toggle source
# File lib/mod_rest.rb, line 83
def get_friends(username)
  data = "get_roster #{username} #{@host}"
  response(data)
end
kick_user(username) click to toggle source

Disconnect user’s active sessions

# File lib/mod_rest.rb, line 48
def kick_user username
  data = "kick_user #{username} #{@host}"
  response(data)
end
online_users() click to toggle source

Check all online user

# File lib/mod_rest.rb, line 36
def online_users
  data = "connected_users"
  response(data)
end
register(username, password) click to toggle source

Register a new user Take params username and password

# File lib/mod_rest.rb, line 16
def register(username, password)
  data = "register #{username} #{@host} #{password}"
  response data
end
register_users() click to toggle source

List all registered users in HOST

# File lib/mod_rest.rb, line 71
def register_users
  data = "registered_users #{@host}"
  response(data)
end
status() click to toggle source
# File lib/mod_rest.rb, line 65
def status
  data = "status"
  response(data)
end
unregister(username) click to toggle source

Unregister user Take params username

# File lib/mod_rest.rb, line 23
def unregister(username)
  data = "unregister #{username} #{@host}"
  response data
end
user_resources(username) click to toggle source

List user’s connected resources

# File lib/mod_rest.rb, line 60
def user_resources username
  data = "user_resources"
  response(data)
end

Private Instance Methods

prepare_request(request) click to toggle source
# File lib/mod_rest.rb, line 89
def prepare_request request
  request['Content-Type'] = 'application/json'
  request['Accept'] = 'application/json'
  request
end
response(body) click to toggle source
# File lib/mod_rest.rb, line 95
def response(body)
  request = prepare_request(Net::HTTP::Post.new(@url.request_uri))
  request.body = body
  msg = @client.request(request).body
  { status: true, message: msg }
rescue Exception => e
  { status: false, message: e.message }
end