class RubyEventStore::InstrumentedSubscriptions
Attributes
instrumentation[R]
subscriptions[R]
Public Class Methods
new(subscriptions, instrumentation)
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 5 def initialize(subscriptions, instrumentation) @subscriptions = subscriptions @instrumentation = instrumentation end
Public Instance Methods
add_global_subscription(subscriber)
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 16 def add_global_subscription(subscriber) instrument(subscriber: subscriber) do subscriptions.add_global_subscription(subscriber) end end
add_subscription(subscriber, event_types)
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 10 def add_subscription(subscriber, event_types) instrument(subscriber: subscriber, event_types: event_types) do subscriptions.add_subscription(subscriber, event_types) end end
add_thread_global_subscription(subscriber)
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 28 def add_thread_global_subscription(subscriber) instrument(subscriber: subscriber) do subscriptions.add_thread_global_subscription(subscriber) end end
add_thread_subscription(subscriber, event_types)
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 22 def add_thread_subscription(subscriber, event_types) instrument(subscriber: subscriber, event_types: event_types) do subscriptions.add_thread_subscription(subscriber, event_types) end end
method_missing(method_name, *arguments, &block)
click to toggle source
Calls superclass method
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 34 def method_missing(method_name, *arguments, &block) if respond_to?(method_name) subscriptions.public_send(method_name, *arguments, &block) else super end end
respond_to_missing?(method_name, _include_private)
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 42 def respond_to_missing?(method_name, _include_private) subscriptions.respond_to?(method_name) end
Private Instance Methods
instrument(args) { || ... }
click to toggle source
# File lib/ruby_event_store/instrumented_subscriptions.rb, line 48 def instrument(args) instrumentation.instrument("add.subscriptions.rails_event_store", args) do unsubscribe = yield ->() { instrumentation.instrument("remove.subscriptions.rails_event_store", args) do unsubscribe.call end } end end