# File lib/ruote/util/filter.rb, line 336 def _take(field, value, matches, m, v) unless @hash.has_key?('~~~') @hash['~~~'] = @hash.keys.select { |k| ! k.match(/^\~+$/) }.each_with_object({}) { |k, h| h[k] = @hash.delete(k) } @hash.merge!(@hash['~~']) @hash.merge!(@hash['~~~']) if m == 'discard' && v != 'all' end if m == 'take' @hash[field] = @hash['~~~'][field] elsif v != 'all' @hash.delete(field) end nil end