class Crowbar::Client::Filter::Subset

Filter to reduce a hash subset by a given search clause

Public Instance Methods

process() click to toggle source
# File lib/crowbar/client/filter/subset.rb, line 24
def process
  options[:filter].to_s.split(".").each do |segment|
    segment = segment.to_i if segment.to_i.to_s == segment
    options[:values] = subset(segment)
  end

  options[:values]
end

Protected Instance Methods

subset(segment) click to toggle source
# File lib/crowbar/client/filter/subset.rb, line 35
def subset(segment)
  case
  when options[:values][segment.to_i].present?
    options[:values][segment.to_i]
  when options[:values][segment.to_sym].present?
    options[:values][segment.to_sym]
  when options[:values][segment.to_s].present?
    options[:values][segment.to_s]
  end
end