Module: NATS::RPC

Defined in:
lib/nats/rpc.rb,
lib/nats/rpc/client.rb,
lib/nats/rpc/errors.rb,
lib/nats/rpc/servant.rb,
lib/nats/rpc/version.rb

Defined Under Namespace

Classes: Client, RemoteError, Servant

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.cluster_optsObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/nats/rpc.rb', line 13

def self.cluster_opts
  servers = ENV['NATS_RPC_SERVER_URLS']&.split(",")
  max_reconnect_attempts = ENV['NATS_RPC_MAX_RECONNECT_ATTEMPTS']&.to_i
  reconnect_time_wait = ENV['NATS_RPC_RECONNECT_TIME_WAIT']&.to_i

  opts = {}
  opts[:servers] = servers if servers
  opts[:max_reconnect_attempts] = max_reconnect_attempts if max_reconnect_attempts
  opts[:reconnect_time_wait] = reconnect_time_wait if reconnect_time_wait
  if ENV['NATS_RPC_DONT_RANDOMIZE_SERVERS']
    opts[:dont_randomize_servers] = ENV['NATS_RPC_DONT_RANDOMIZE_SERVERS'] == "true"
  end
  if ENV['NATS_RPC_RECONNECT']
    opts[:reconnect] = ENV['NATS_RPC_RECONNECT'] == "true"
  end

  opts
end

.debug(*args) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/nats/rpc.rb', line 37

def self.debug(*args)
  return unless ENV["NATS_RPC_DEBUG"] == "true"

  calling_instance_or_class_name =  binding.of_caller(1).eval("self.class.name")
  calling_method_name = caller_locations(1,1)[0].label

  print "DEBUG #{calling_instance_or_class_name}##{calling_method_name} - "
  inspected_arg_strings = []
  for arg in args do
    inspected_arg_strings << if arg.is_a? String
      arg
    elsif
      arg.is_a? Array
      "\n" + arg.inspect.split("\",").join("\n")
    else
     arg.inspect
    end
  end

  puts inspected_arg_strings.join " "
end

.stats(str) ⇒ Object



32
33
34
35
# File 'lib/nats/rpc.rb', line 32

def self.stats(str)
  return unless ENV["NATS_RPC_STATS"] == "true"
  puts str
end