class Em::Sessions::Client
Attributes
app[R]
http_url[R]
Public Class Methods
new(url, app)
click to toggle source
# File lib/em/sessions/client.rb, line 9 def initialize(url, app) if url.nil? || app.nil? raise 'http_url is blank or app is blank!' end if url.strip.empty? http_url = 'http://localhost:3000/' else http_url = url =~ /^https?\/\// ? url : "http://#{url}" end @app = app @http_url = http_url =~ /\/$/ ? http_url[0..-2] : http_url end
Public Instance Methods
activity?(seconds = 600, app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 65 def activity?(seconds = 600, app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/activity?dt=#{seconds}} return run_em 'get', run_http_url end
create(id, out_time = 7200, ip = '0.0.0.0', app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 22 def create(id, out_time = 7200, ip = '0.0.0.0', app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/create/#{id}?ip=#{ip}&ttl=#{out_time}} return run_em 'put', run_http_url end
delete_all(app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 53 def delete_all(app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/killall} return run_em 'delete', run_http_url end
delete_by_id(id, app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 47 def delete_by_id(id, app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/killsoid/#{ id }} return run_em 'delete', run_http_url end
delete_by_token(user_token, app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 41 def delete_by_token(user_token, app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/kill/#{ user_token }} return run_em 'delete', run_http_url end
find_by_id(id, app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 35 def find_by_id(id, app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/soid/#{ id }} return run_em 'get', run_http_url end
find_by_token(user_token, app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 28 def find_by_token(user_token, app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/get/#{ user_token }} return run_em 'get', run_http_url end
set_params_by_token(user_token, params = {}, app = nil)
click to toggle source
# File lib/em/sessions/client.rb, line 59 def set_params_by_token(user_token, params = {}, app = nil) app_name = get_app_name app run_http_url = %Q{#{@http_url}/#{app_name}/set/#{ user_token }} return run_em 'post', run_http_url, { 'Content-Type'=>'application/json'}, params end
Private Instance Methods
get_app_name(app)
click to toggle source
# File lib/em/sessions/client.rb, line 73 def get_app_name(app) app.nil? ? @app : app end
run_em(type, url, head = {}, body = {})
click to toggle source
# File lib/em/sessions/client.rb, line 77 def run_em(type, url, head = {}, body = {}) code = 0 return_string = '' EventMachine.run { http = EventMachine::HttpRequest.new(url).send type, head: head, body: body.to_json http.errback { code = http.response_header.status; return_string = http.response;EM.stop } http.callback { code = http.response_header.status; return_string = http.response;EventMachine.stop } } if code == 200 json = JSON.parse return_string return 200, json end return code, json end