Class: Tracing::ListInstanceVarFilter

Inherits:
BaseFilter show all
Defined in:
lib/filters/list/list_instance_var_filter.rb

Instance Attribute Summary

Attributes inherited from BaseFilter

#name, #rules

Instance Method Summary collapse

Methods inherited from BaseFilter

#name_allow_action, register_filters, unregister_filters

Constructor Details

#initialize(options) ⇒ ListInstanceVarFilter

Returns a new instance of ListInstanceVarFilter.



3
4
5
6
# File 'lib/filters/list/list_instance_var_filter.rb', line 3

def initialize(options)
  super(options)      
  @rules = options || {}
end

Instance Method Details

#allow_action(msg, context) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/filters/list/list_instance_var_filter.rb', line 8

def allow_action(msg, context)
  puts "LIF"
  action = rules[:default] || :yield      
  var_rules = rules[:vars]
  # puts "var rules: #{var_rules.inspect}"
  # puts "var_rules size: #{var_rules.size}"
  # puts "context: #{context.inspect}"
  var_rules.each do |var_rule|
    # puts "var rule: #{var_rule.inspect}"
    options = {}
    options[:var_rules] = var_rule[:var_rules]
    options[:var_name]  = var_rule[:name]      
    
    var_filter = InstanceVarFilter.new(options)
    action = var_filter.allow_action(msg, context)
    return action if (action == :include || action == :exclude)        
  end
  return action
end