module Axon
Constants
- VERSION
Public Class Methods
method_missing(method, *args)
click to toggle source
# File lib/axon-nats.rb, line 40 def self.method_missing(method, *args) NATS.send(method, *args) if NATS.respond_to? method end
publish(route, msg = {})
click to toggle source
# File lib/axon-nats.rb, line 37 def self.publish(route, msg = {}) NATS.publish(route, AxonMsg.new(msg)) end
request(route, req = {}, &block)
click to toggle source
# File lib/axon-nats.rb, line 32 def self.request(route, req = {}, &block) NATS.request(route, AxonMsg.new(req)) { |msg_s| block.call(AxonMsg.parse(msg_s)) } end
respond(route, &block)
click to toggle source
# File lib/axon-nats.rb, line 17 def self.respond(route, &block) NATS.subscribe(route) { |msg_s, reply| begin NATS.publish(reply, AxonMsg.new(block.call(AxonMsg.parse(msg_s)))) rescue AxonError => e NATS.publish(reply, AxonMsg.new(e.data, e.message)) rescue => e if e.is_a? StandardError STDERR.puts e STDERR.puts e.backtrace end NATS.publish(reply, AxonMsg.new({}, e.message)) end } end
subscribe(route, &block)
click to toggle source
# File lib/axon-nats.rb, line 7 def self.subscribe(route, &block) NATS.subscribe(route) { |msg_s| begin block.call(AxonMsg.parse(msg_s)) rescue => e STDERR.puts e STDERR.puts e.backtrace end } end