Class: TestTrack::Analytics::SafeWrapper

Inherits:
Object
  • Object
show all
Defined in:
app/models/test_track/analytics/safe_wrapper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(underlying) ⇒ SafeWrapper

Returns a new instance of SafeWrapper.



5
6
7
# File 'app/models/test_track/analytics/safe_wrapper.rb', line 5

def initialize(underlying)
  @underlying = underlying
end

Instance Attribute Details

#underlyingObject (readonly)

Returns the value of attribute underlying.



3
4
5
# File 'app/models/test_track/analytics/safe_wrapper.rb', line 3

def underlying
  @underlying
end

Instance Method Details

#alias(visitor_id, existing_id) ⇒ Object



19
20
21
# File 'app/models/test_track/analytics/safe_wrapper.rb', line 19

def alias(visitor_id, existing_id)
  safe_action { underlying.alias(visitor_id, existing_id) }
end

#error_handler=(handler) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
# File 'app/models/test_track/analytics/safe_wrapper.rb', line 9

def error_handler=(handler)
  raise ArgumentError, "error_handler must be a lambda" unless handler.lambda?
  raise ArgumentError, "error_handler must accept 1 argument" unless handler.arity == 1
  @error_handler = handler
end

#track_assignment(visitor_id, assignment, params = {}) ⇒ Object



15
16
17
# File 'app/models/test_track/analytics/safe_wrapper.rb', line 15

def track_assignment(visitor_id, assignment, params = {})
  safe_action { underlying.track_assignment(visitor_id, assignment, params) }
end