def _call_filters(filter_set)
      (filter_set || []).each do |filter, rule|
        if _call_filter_for_action?(rule, action_name) && _filter_condition_met?(rule)
          case filter
          when Symbol, String
            if rule.key?(:with)
              args = rule[:with]
              send(filter, *args)
            else
              send(filter)
            end
          when Proc then self.instance_eval(&filter)
          end
        end
      end
      return :filter_chain_completed
    end
def _call_filters(filter_set)
      (filter_set || []).each do |filter, rule|
        if _call_filter_for_action?(rule, action_name) && _filter_condition_met?(rule)
          case filter
          when Symbol, String
            if rule.key?(:with)
              args = rule[:with]
              send(filter, *args)
            else
              send(filter)
            end
          when Proc then self.instance_eval(&filter)
          end
        end
      end
      return :filter_chain_completed
    end
Calls a filter chain.

 ==== Parameters
 filter_set<Array[Filter]>::
   A set of filters in the form [[:filter, rule], [:filter, rule]]

 ==== Returns
 Symbol:: :filter_chain_completed.

 ==== Notes
 Filter rules can be Symbols, Strings, or Procs.

 Symbols or Strings::
   Call the method represented by the +Symbol+ or +String+.
 Procs::
   Execute the +Proc+, in the context of the controller (self will be the
   controller)

 :api: private