class SensuCli::Filter

Attributes

filter[R]

Public Class Methods

new(filter_data) click to toggle source
# File lib/sensu-cli/filter.rb, line 5
def initialize(filter_data)
  filter_split(filter_data)
end

Public Instance Methods

filter_split(filter) click to toggle source
# File lib/sensu-cli/filter.rb, line 9
def filter_split(filter)
  @filter = filter.sub(' ', '').split(',')
end
inspect_hash(data) click to toggle source
# File lib/sensu-cli/filter.rb, line 17
def inspect_hash(data)
  data.any? do |key, value|
    if value.is_a?(Array)
      match?(value) if key == filter[0]
    elsif value.is_a?(Hash)
      process(value)
    else
      match?(value) if key == filter[0]
    end
  end
end
match?(data) click to toggle source
# File lib/sensu-cli/filter.rb, line 13
def match?(data)
  data.to_s.include? filter[1]
end
process(data) click to toggle source
# File lib/sensu-cli/filter.rb, line 29
def process(data)
  if data.is_a?(Array)
    data.select do |value|
      process(value)
    end
  elsif data.is_a?(Hash)
    inspect_hash(data)
  end
end