Class: Upkeep::Runtime::Current
- Inherits:
-
Object
- Object
- Upkeep::Runtime::Current
- Defined in:
- lib/upkeep/runtime.rb
Constant Summary collapse
- THREAD_KEY =
:upkeep_current_user
Class Method Summary collapse
Class Method Details
.set(user:) ⇒ Object
723 724 725 726 727 728 729 |
# File 'lib/upkeep/runtime.rb', line 723 def set(user:) previous = Thread.current[THREAD_KEY] Thread.current[THREAD_KEY] = user yield ensure Thread.current[THREAD_KEY] = previous end |
.user ⇒ Object
731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 |
# File 'lib/upkeep/runtime.rb', line 731 def user user = Thread.current[THREAD_KEY] return user unless Observation.recording? dependency = Dependencies::Identity.new( source: "Current.user", key: "id", value: user&.id, metadata: { model: user&.class&.name, table: user&.class&.table_name, id: user&.id }.compact ) Observation.record_dependency(dependency) user end |