Class: Dbwatcher::Tracker
- Inherits:
-
Object
- Object
- Dbwatcher::Tracker
- Defined in:
- lib/dbwatcher/tracker.rb
Class Method Summary collapse
- .current_session ⇒ Object
- .record_change(change) ⇒ Object
- .track(name: nil, metadata: {}, &block) ⇒ Object
Class Method Details
.current_session ⇒ Object
19 20 21 |
# File 'lib/dbwatcher/tracker.rb', line 19 def current_session Thread.current[:dbwatcher_session] end |
.record_change(change) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/dbwatcher/tracker.rb', line 23 def record_change(change) session = current_session return unless session && change.is_a?(Hash) session.changes << change rescue StandardError => e warn "Failed to record change: #{e.}" end |
.track(name: nil, metadata: {}, &block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/dbwatcher/tracker.rb', line 8 def track(name: nil, metadata: {}, &block) return yield unless Dbwatcher.configuration.enabled session = create_session(name, ) Thread.current[:dbwatcher_session] = session execute_with_session(session, &block) ensure Thread.current[:dbwatcher_session] = nil end |