Class: Talkshow::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/talkshow/queue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Queue

Returns a new instance of Queue.



8
9
10
11
# File 'lib/talkshow/queue.rb', line 8

def initialize(url)
  @uri = URI.parse(url)
  @http = Net::HTTP.new(@uri.host, @uri.port)
end

Instance Attribute Details

#urlObject

Returns the value of attribute url.



6
7
8
# File 'lib/talkshow/queue.rb', line 6

def url
  @url
end

Instance Method Details

#clearObject



13
14
15
16
# File 'lib/talkshow/queue.rb', line 13

def clear
  response = @http.request(Net::HTTP::Get.new('/answerqueue/clear'))
  response
end

#pop(ignored) ⇒ Object



18
19
20
21
22
# File 'lib/talkshow/queue.rb', line 18

def pop(ignored)
  response = @http.request(Net::HTTP::Get.new('/answerqueue/pop'))
  object = JSON.parse(response.body, :symbolize_names => true)
  object[:message]
end

#push(obj) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/talkshow/queue.rb', line 24

def push(obj)
  serialized_object = obj.to_json.to_s
  request = Net::HTTP::Post.new('/questionqueue/push')
  request.set_form_data( {'message' => serialized_object } )
  response = @http.request(request)
  nil
end