class OpenTracing::Instrumentation::Bunny::PublishOperationNameBuilder
PublishOperationNameBuilder
build publish command name from exchange and publish options
Constants
- DEFAULT_OPERATION_NAME_PATTERN
Public Class Methods
new( routing_key_sanitazer: RegexpRoutingKeySanitazer.new, operation_name_pattern: DEFAULT_OPERATION_NAME_PATTERN )
click to toggle source
@param routing_key_sanitazer [RegexpRoutingKeySanitazer] @param operation_name_pattern [String]
# File lib/opentracing/instrumentation/bunny/publish_operation_name_builder.rb, line 17 def initialize( routing_key_sanitazer: RegexpRoutingKeySanitazer.new, operation_name_pattern: DEFAULT_OPERATION_NAME_PATTERN ) @routing_key_sanitazer = routing_key_sanitazer @operation_name_pattern = operation_name_pattern end
Public Instance Methods
build_operation_name(exchange, opts)
click to toggle source
@param exchange [Bunny::Exchange] @param opts [Hash<Symbol, Object>] @option opts [String] :routing_key @return [String]
# File lib/opentracing/instrumentation/bunny/publish_operation_name_builder.rb, line 29 def build_operation_name(exchange, opts) format_args = build_format_args(exchange, opts) format(@operation_name_pattern, **format_args) end
Private Instance Methods
build_format_args(exchange, opts)
click to toggle source
# File lib/opentracing/instrumentation/bunny/publish_operation_name_builder.rb, line 36 def build_format_args(exchange, opts) opts .merge(exchange: exchange.name) .merge(routing_key: sanitaze_routing_key(opts[:routing_key])) end
sanitaze_routing_key(routing_key)
click to toggle source
# File lib/opentracing/instrumentation/bunny/publish_operation_name_builder.rb, line 42 def sanitaze_routing_key(routing_key) return if routing_key.nil? @routing_key_sanitazer.sanitaze_routing_key(routing_key) end