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.



240
241
242
243
244
# File 'lib/interpol/endpoint.rb', line 240

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.



238
239
240
# File 'lib/interpol/endpoint.rb', line 238

def code_strings
  @code_strings
end

Instance Method Details

#example_status_codeObject



250
251
252
253
254
255
256
# File 'lib/interpol/endpoint.rb', line 250

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)


246
247
248
# File 'lib/interpol/endpoint.rb', line 246

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