class Colossus::HTTPWriterClient
Attributes
time_out[R]
url[R]
writer_token[R]
Public Class Methods
new(url, writer_token = Colossus.config.writer_token, time_out = 2)
click to toggle source
# File lib/colossus/http_writer_client.rb, line 5 def initialize(url, writer_token = Colossus.config.writer_token, time_out = 2) @url = url @writer_token = writer_token @time_out = time_out end
Public Instance Methods
presence(optional_user_ids = nil)
click to toggle source
# File lib/colossus/http_writer_client.rb, line 13 def presence(optional_user_ids = nil) user_ids = Array(optional_user_ids) if optional_user_ids connection.post('/presence_request') do |req| req.body = { user_ids: user_ids, writer_token: writer_token } end.body end
push(user_ids, message)
click to toggle source
# File lib/colossus/http_writer_client.rb, line 20 def push(user_ids, message) user_ids = Array(user_ids) connection.post('/message') do |req| req.body = { user_ids: user_ids, message: message, writer_token: writer_token} end.body end
Private Instance Methods
base_url()
click to toggle source
# File lib/colossus/http_writer_client.rb, line 42 def base_url @base_url ||= URI.parse(url).tap{ |u| u.path=('/') } end
connection()
click to toggle source
# File lib/colossus/http_writer_client.rb, line 29 def connection Faraday.new(url, connection_options) do |conf| conf.request :json conf.response :json conf.response :raise_error conf.adapter Faraday.default_adapter end end
connection_options()
click to toggle source
# File lib/colossus/http_writer_client.rb, line 38 def connection_options {request: {timeout: 2, open_timeout: 2}} end