Class: ActionReporter::Current

Inherits:
Object
  • Object
show all
Defined in:
lib/action_reporter/current.rb

Overview

Thread-safe storage for ActionReporter context attributes Uses ActiveSupport::IsolatedExecutionState when available (fiber/request-aware), and falls back to Thread.current for non-Rails/non-ActiveSupport environments.

Constant Summary collapse

STORAGE_PREFIX =
:action_reporter

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.storage_adapterObject

Returns the value of attribute storage_adapter.



12
13
14
# File 'lib/action_reporter/current.rb', line 12

def storage_adapter
  @storage_adapter
end

Class Method Details

.current_remote_addrObject



42
43
44
# File 'lib/action_reporter/current.rb', line 42

def current_remote_addr
  read(:current_remote_addr)
end

.current_remote_addr=(addr) ⇒ Object



46
47
48
# File 'lib/action_reporter/current.rb', line 46

def current_remote_addr=(addr)
  write(:current_remote_addr, addr)
end

.current_request_uuidObject



34
35
36
# File 'lib/action_reporter/current.rb', line 34

def current_request_uuid
  read(:current_request_uuid)
end

.current_request_uuid=(uuid) ⇒ Object



38
39
40
# File 'lib/action_reporter/current.rb', line 38

def current_request_uuid=(uuid)
  write(:current_request_uuid, uuid)
end

.current_userObject



26
27
28
# File 'lib/action_reporter/current.rb', line 26

def current_user
  read(:current_user)
end

.current_user=(user) ⇒ Object



30
31
32
# File 'lib/action_reporter/current.rb', line 30

def current_user=(user)
  write(:current_user, user)
end

.resetObject



66
67
68
69
70
71
72
# File 'lib/action_reporter/current.rb', line 66

def reset
  write(:current_user, nil)
  write(:current_request_uuid, nil)
  write(:current_remote_addr, nil)
  write(:transaction_id, nil)
  write(:transaction_name, nil)
end

.reset_storage_adapter!Object



22
23
24
# File 'lib/action_reporter/current.rb', line 22

def reset_storage_adapter!
  @storage_adapter = nil
end

.transaction_idObject



50
51
52
# File 'lib/action_reporter/current.rb', line 50

def transaction_id
  read(:transaction_id)
end

.transaction_id=(transaction_id) ⇒ Object



54
55
56
# File 'lib/action_reporter/current.rb', line 54

def transaction_id=(transaction_id)
  write(:transaction_id, transaction_id)
end

.transaction_nameObject



58
59
60
# File 'lib/action_reporter/current.rb', line 58

def transaction_name
  read(:transaction_name)
end

.transaction_name=(transaction_name) ⇒ Object



62
63
64
# File 'lib/action_reporter/current.rb', line 62

def transaction_name=(transaction_name)
  write(:transaction_name, transaction_name)
end