# File lib/cimi/model/base.rb, line 218 def filter_by(filter_opts) return self if filter_opts.nil? return filter_attributes(filter_opts.split(',').map{ |a| a.intern }) if filter_opts.include? ',' case filter_opts when /^([\w\_]+)$/ then filter_attributes([$1.intern]) when /^([\w\_]+)\[(\d+\-\d+)\]$/ then filter_by_arr_range($1.intern, $2) when /^([\w\_]+)\[(\d+)\]$/ then filter_by_arr_index($1.intern, $2) else self end end