class StatusCodeParser
Public Class Methods
convert(range_str)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/fluent/plugin/out_http_ext.rb, line 40 def self.number?(str) return /^\d{3}$/ =~ str ? true : false end
range?(str)
click to toggle source
# 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