Class: HTTPX::Plugins::Tracing::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/httpx/plugins/tracing.rb

Instance Method Summary collapse

Constructor Details

#initialize(*tracers) ⇒ Wrapper



16
17
18
19
20
21
22
23
24
25
# File 'lib/httpx/plugins/tracing.rb', line 16

def initialize(*tracers)
  @tracers = tracers.flat_map do |tracer|
    case tracer
    when Wrapper
      tracer.tracers
    else
      tracer
    end
  end.uniq
end

Instance Method Details

#freezeObject



36
37
38
39
# File 'lib/httpx/plugins/tracing.rb', line 36

def freeze
  @tracers.each(&:freeze).freeze
  super
end

#merge(tracer) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/httpx/plugins/tracing.rb', line 27

def merge(tracer)
  case tracer
  when Wrapper
    Wrapper.new(*@tracers, *tracer.tracers)
  else
    Wrapper.new(*@tracers, tracer)
  end
end