module EventHub::Helper

Helper module

Public Instance Methods

create_bunny_connection() click to toggle source
# File lib/eventhub/helper.rb, line 20
def create_bunny_connection
  server = EventHub::Configuration.server

  protocol = "amqp"
  connection_properties = {}
  connection_properties[:user] = server[:user]
  connection_properties[:pass] = server[:password]
  connection_properties[:vhost] = server[:vhost]

  # inject bunny logs on request
  unless server[:show_bunny_logs]
    connection_properties[:logger] = Logger.new("/dev/null")
  end

  # we don't need it since reactors can deal with it
  connection_properties[:automatically_recover] = false

  # do we do tls?
  if server[:tls]
    protocol = "amqps"
    connection_properties[:tls] = server[:tls]
    connection_properties[:tls_cert] = server[:tls_cert]
    connection_properties[:tls_key] = server[:tls_key]
    connection_properties[:tls_ca_certificates] = server[:tls_ca_certificates]
    connection_properties[:verify_peer] = server[:verify_peer]
  end

  connection_string = "#{protocol}://#{server[:host]}:#{server[:port]}"

  Bunny.new(connection_string, connection_properties)
end
get_name_from_class(instance) click to toggle source

Examples: EventHub::Namespace::Demo => namespace.demo EventHub::NameSpace::Demo => name_space.demo EventHub::NameSpace::DemoProcessor => name_space.demo_processor NameSpace::Demo => name_space.demo

# File lib/eventhub/helper.rb, line 13
def get_name_from_class(instance)
  instance.class.to_s.split("::").map { |element|
    next if element == "EventHub"
    element.split(/(?=[A-Z])/).join("_").downcase
  }.compact.join(".")
end
now_stamp(now = nil) click to toggle source

Formats stamp into UTC format

# File lib/eventhub/helper.rb, line 53
def now_stamp(now = nil)
  now ||= Time.now
  now.utc.strftime("%Y-%m-%dT%H:%M:%S.%6NZ")
end
stringify_keys(h) click to toggle source

stringify hash keys

# File lib/eventhub/helper.rb, line 59
def stringify_keys(h)
  JSON.parse(h.to_json)
end