class HyperMQ::Client
Attributes
host[R]
name[R]
port[R]
Public Class Methods
new(name, host, port=80)
click to toggle source
# File lib/hypermq/client.rb, line 8 def initialize(name, host, port=80) @name = name @host = host @port = port end
Public Instance Methods
acknowledge(queue, message_id)
click to toggle source
# File lib/hypermq/client.rb, line 32 def acknowledge(queue, message_id) url = [domain, 'ack', queue, name].join('/') status = Faraday.post(url) do |req| req.headers['Content-Type'] = 'application/json' req.body = %-{"id":"#{message_id}"}- end.env[:status] status.to_i == 201 end
domain()
click to toggle source
# File lib/hypermq/client.rb, line 14 def domain "http://#{host}:#{port}" end
fetch(queue, message_id=nil)
click to toggle source
# File lib/hypermq/client.rb, line 26 def fetch(queue, message_id=nil) url = [domain, 'q', queue, message_id].compact.join('/') response = Faraday.get(url).env[:body] Yajl::Parser.parse(response) end
last_seen(queue)
click to toggle source
# File lib/hypermq/client.rb, line 41 def last_seen(queue) url = [domain, 'ack', queue, name].join('/') response = Faraday.get(url).env[:body] Yajl::Parser.parse(response).fetch('message') end
push(queue, message)
click to toggle source
# File lib/hypermq/client.rb, line 18 def push(queue, message) url = [domain, 'q', queue].join('/') Faraday.post(url) do |req| req.headers['Content-Type'] = 'application/json' req.body = Yajl::Encoder.encode(producer: name, body: message) end.env[:status] == 201 end