# File lib/ruote/util/filter.rb, line 48 def self.filter(filter, hash, options={}) raise ArgumentError.new( "not a filter : #{filter}" ) unless filter.is_a?(Array) filters = or_split(filter) result = nil filters.each do |fl| result = begin do_filter(fl, hash, options) rescue ValidationError => err err end return result if result.is_a?(Hash) # success end raise(result) if result.is_a?(ValidationError) result end