def select_filters(target, options)
      found = filters_store.fetch(options, [])
      if
        Hash === options || options.nil?
      then
        options ||={}
        options.merge!(:target => target)
        found +=
        # can not @filters.fetch(options, []) to allow filters provide custom ==()
        filters_store.select do |filter_options, filters|
          options == filter_options
        end.map(&:last).flatten
      end
      found
    end
def select_filters(target, options)
      found = filters_store.fetch(options, [])
      if
        Hash === options || options.nil?
      then
        options ||={}
        options.merge!(:target => target)
        found +=
        # can not @filters.fetch(options, []) to allow filters provide custom ==()
        filters_store.select do |filter_options, filters|
          options == filter_options
        end.map(&:last).flatten
      end
      found
    end
Select matching filters and filters including targets when
 options is a +Hash+
 @param target  [Object] an object to run the method on
 @param options [Object] a filter for selecting matching blocks