Class: Datadog::Tracing::Contrib::StatusRangeMatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/tracing/contrib/status_range_matcher.rb

Overview

Useful checking whether the defined range covers status code

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ranges) ⇒ StatusRangeMatcher

Returns a new instance of StatusRangeMatcher.



10
11
12
# File 'lib/datadog/tracing/contrib/status_range_matcher.rb', line 10

def initialize(ranges)
  @ranges = Array(ranges)
end

Instance Attribute Details

#rangesObject (readonly)

Returns the value of attribute ranges.



8
9
10
# File 'lib/datadog/tracing/contrib/status_range_matcher.rb', line 8

def ranges
  @ranges
end

Instance Method Details

#+(other) ⇒ Object Also known as: concat



14
15
16
# File 'lib/datadog/tracing/contrib/status_range_matcher.rb', line 14

def +(other)
  StatusRangeMatcher.new(@ranges + other.ranges)
end

#include?(status) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
27
28
# File 'lib/datadog/tracing/contrib/status_range_matcher.rb', line 19

def include?(status)
  @ranges.any? do |e|
    case e
    when Range
      e.include? status
    when Integer
      e == status
    end
  end
end