Class: Nucleo::Utilities::StatusCodeMapper
- Inherits:
-
Object
- Object
- Nucleo::Utilities::StatusCodeMapper
- Defined in:
- lib/nucleo/utilities/status_code_mapper.rb
Constant Summary collapse
- STATUS_MAP =
{ :failure => (400...500), :redirect => (300...400), :success => (200...300), :server_error => (500...600) }
Instance Method Summary collapse
-
#codes ⇒ Array
Returns a collection of all available codes.
-
#includes?(code) ⇒ Boolean
Checks to see if the codes includes a specific code.
-
#initialize(*statuses) ⇒ Nucleo::StatusCodeMapper
constructor
Returns a utility object to map HTTP status codes to their corresponding ranges.
Constructor Details
#initialize(*statuses) ⇒ Nucleo::StatusCodeMapper
Returns a utility object to map HTTP status codes to their corresponding ranges
18 19 20 |
# File 'lib/nucleo/utilities/status_code_mapper.rb', line 18 def initialize(*statuses) @statuses = Array(statuses).flatten end |
Instance Method Details
#codes ⇒ Array
Returns a collection of all available codes
This merges the STATUS_MAP with specified codes
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/nucleo/utilities/status_code_mapper.rb', line 27 def codes all_codes = [] @statuses.inject(all_codes) do |collection,status| if status.is_a?(Symbol) collection.concat(STATUS_MAP[status].to_a) else collection.concat([status.to_i]) end collection end Set.new(all_codes).to_a end |
#includes?(code) ⇒ Boolean
Checks to see if the codes includes a specific code
47 48 49 |
# File 'lib/nucleo/utilities/status_code_mapper.rb', line 47 def includes?(code) self.codes.include?(code.to_i) end |