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