Class: ActiveUsage::Tracker

Inherits:
Object
  • Object
show all
Defined in:
lib/active_usage/tracker.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, tags) ⇒ Tracker

Returns a new instance of Tracker.



5
6
7
8
9
# File 'lib/active_usage/tracker.rb', line 5

def initialize(name, tags)
  @name = name
  @tags = tags
  @started_at = Time.current
end

Instance Method Details

#callObject



11
12
13
14
15
16
17
18
# File 'lib/active_usage/tracker.rb', line 11

def call(&)
  Instrumentation::RuntimeState.clear_sql_state
  result = ActiveSupport::Notifications.subscribed(sql_listener, "sql.active_record", &)
  ActiveUsage.record(**attributes)
  result
ensure
  Instrumentation::RuntimeState.clear_sql_state
end