module Determinator::Tracking
Attributes
endpoint_env_vars[R]
Public Class Methods
clear!()
click to toggle source
# File lib/determinator/tracking.rb, line 25 def clear! Thread.current[:determinator_tracker] = nil end
clear_hooks!()
click to toggle source
# File lib/determinator/tracking.rb, line 58 def clear_hooks! @on_request = nil @get_context = nil end
collect_endpoint_info(parts)
click to toggle source
# File lib/determinator/tracking.rb, line 67 def collect_endpoint_info(parts) endpoint = Array(Determinator::Tracking.endpoint_env_vars).map{ |v| ENV[v] } endpoint += Array(parts) endpoint.reject{ |p| p.nil? || p == ''}.join(' ') end
context()
click to toggle source
# File lib/determinator/tracking.rb, line 51 def context return unless @get_context @get_context.call rescue nil end
endpoint_env_vars=(vars)
click to toggle source
# File lib/determinator/tracking.rb, line 63 def endpoint_env_vars=(vars) @endpoint_env_vars = Array(vars) end
finish!(endpoint:, error:, **attributes)
click to toggle source
# File lib/determinator/tracking.rb, line 17 def finish!(endpoint:, error:, **attributes) return false unless started? request = instance.finish!(endpoint: endpoint, error: error, **attributes) clear! report(request) request end
get_context(&block)
click to toggle source
# File lib/determinator/tracking.rb, line 47 def get_context(&block) @get_context = block end
instance()
click to toggle source
# File lib/determinator/tracking.rb, line 9 def instance Thread.current[:determinator_tracker] end
on_request(&block)
click to toggle source
# File lib/determinator/tracking.rb, line 38 def on_request(&block) @on_request = block end
report(request)
click to toggle source
# File lib/determinator/tracking.rb, line 42 def report(request) return unless @on_request @on_request.call(request) end
start!(type)
click to toggle source
# File lib/determinator/tracking.rb, line 13 def start!(type) Thread.current[:determinator_tracker] = Tracker.new(type) end
started?()
click to toggle source
# File lib/determinator/tracking.rb, line 29 def started? !!instance end
track(id, guid, feature, determination)
click to toggle source
# File lib/determinator/tracking.rb, line 33 def track(id, guid, feature, determination) return false unless started? instance.track(id, guid, feature, determination) end