Class: StatusCodeParser
- Inherits:
-
Object
- Object
- StatusCodeParser
- Defined in:
- lib/fluent/plugin/out_http_ext.rb
Class Method Summary collapse
- .convert(range_str) ⇒ Object
- .get_array(str) ⇒ Object
- .number?(str) ⇒ Boolean
- .range?(str) ⇒ Boolean
Class Method Details
.convert(range_str) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/fluent/plugin/out_http_ext.rb', line 55 def self.convert(range_str) elems = range_str.split(',') status_codes = elems.flat_map do |elem| self.get_array(elem) end return status_codes.to_set end |
.get_array(str) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fluent/plugin/out_http_ext.rb', line 44 def self.get_array(str) if self.range?(str) ends = str.split('..').map{|d| Integer(d)} return (ends[0]..ends[1]).to_a elsif self.number?(str) return [str.to_i] else raise "invalid status code range format" end end |
.number?(str) ⇒ Boolean
40 41 42 |
# File 'lib/fluent/plugin/out_http_ext.rb', line 40 def self.number?(str) return /^\d{3}$/ =~ str ? true : false end |
.range?(str) ⇒ Boolean
35 36 37 38 |
# File 'lib/fluent/plugin/out_http_ext.rb', line 35 def self.range?(str) # i.e. 200..399 => return true return /^\d{3}..\d{3}$/ =~ str ? true : false end |