Module: Juggernaut

Extended by:
Juggernaut
Included in:
Juggernaut
Defined in:
lib/juggernaut.rb,
lib/juggernaut/rails/engine.rb

Instance Method Summary collapse

Instance Method Details

#optionsObject



9
10
11
# File 'lib/juggernaut.rb', line 9

def options
  @options ||= {}
end

#options=(val) ⇒ Object



13
14
15
# File 'lib/juggernaut.rb', line 13

def options=(val)
  @options = val
end

#publish(channels, data, options = {}) ⇒ Object



21
22
23
24
25
26
# File 'lib/juggernaut.rb', line 21

def publish(channels, data, options = {})
  message = ({:channels => Array(channels).uniq, :data => data}).merge(options)
  message = Kafka::Message.new(message.to_json)

  kafka.send(message) 
end

#subscribeObject



28
29
30
31
32
# File 'lib/juggernaut.rb', line 28

def subscribe
  consumer.loop do |msg|
     yield("juggernaut", JSON.parse(msg))
  end
end

#url=(url) ⇒ Object



17
18
19
# File 'lib/juggernaut.rb', line 17

def url=(url)
  options[:url] = url
end