Class: SimplePubSub::Client::PubSub

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

Defined Under Namespace

Classes: Echo

Instance Method Summary collapse

Constructor Details

#initialize(base_url) ⇒ PubSub

Returns a new instance of PubSub.



28
29
30
# File 'lib/simplepubsub.rb', line 28

def initialize(base_url)
  @base_url = base_url
end

Instance Method Details

#get(topic, &get_proc) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/simplepubsub.rb', line 32

def get(topic, &get_proc)

  DRb.start_service nil, Echo.new(&get_proc)
  r = open("http://#{@base_url}/do/simplepubsub/" + \
  "subscribe?topic=#{URI.escape(topic)}&uri=" + \
    DRb.uri, 'UserAgent' => USER_AGENT){|x| x.read}
  DRb.thread.join

end

#publish(topic, message) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/simplepubsub.rb', line 42

def publish(topic, message)

  params = "/do/simplepubsub/publish?topic=%s&message=%s" % \
   [URI.escape(topic),URI.escape(message)]
  open('http://' + @base_url + params, 'UserAgent' => USER_AGENT)\
    {|x| x.read}
end