Class: Interpol::StatusCodeMatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/interpol/endpoint.rb

Overview

Holds the acceptable status codes for an enpoint entry Acceptable status code are either exact status codes (200, 404, etc) or partial status codes (2xx, 3xx, 4xx, etc). Currently, partial status codes can only be a digit followed by two lower-case x’s.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(codes) ⇒ StatusCodeMatcher

Returns a new instance of StatusCodeMatcher.



319
320
321
322
323
# File 'lib/interpol/endpoint.rb', line 319

def initialize(codes)
  codes = ["xxx"] if Array(codes).empty?
  @code_strings = codes
  validate!
end

Instance Attribute Details

#code_stringsObject (readonly)

Returns the value of attribute code_strings.



317
318
319
# File 'lib/interpol/endpoint.rb', line 317

def code_strings
  @code_strings
end

Instance Method Details

#example_status_codeObject



329
330
331
332
333
334
335
# File 'lib/interpol/endpoint.rb', line 329

def example_status_code
  example_status_code = "200"
  code_strings.first.chars.each_with_index do |char, index|
    example_status_code[index] = char if char != 'x'
  end
  example_status_code
end

#matches?(status_code) ⇒ Boolean

Returns:

  • (Boolean)


325
326
327
# File 'lib/interpol/endpoint.rb', line 325

def matches?(status_code)
  code_regexes.any? { |re| re =~ status_code.to_s }
end