def before_filter_to_hash processor, args
filter = {}
args.each do |a|
if sexp? a
a = processor.process_default a
end
end
filter[:methods] = []
args.each do |a|
filter[:methods] << a[1] if a.node_type == :lit
end
if args[-1].node_type == :hash
option = args[-1][1][1]
value = args[-1][2]
case value.node_type
when :array
filter[option] = value[1..-1].map {|v| v[1] }
when :lit, :str
filter[option] = value[1]
else
Brakeman.debug "[Notice] Unknown before_filter value: #{option} => #{value}"
end
else
filter[:all] = true
end
filter
end