Method: Xail::DSL#method_missing

Defined in:
lib/xail/config.rb

#method_missing(name, *args, &block) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/xail/config.rb', line 66

def method_missing(name, *args, &block)
  abort "internal error #{name} #{args} #{block}" unless name

  filterClass = FilterRegistry::get_filter(name.downcase)
  filter_scope(filterClass.new(*args), &block)

rescue StreamLineStop => stop
  # short circuit the stream line stop exception so we can catch it
  # in xail main
  raise stop

rescue UnknownFilter => error
  abort error.to_s

rescue => error
  abort "#{filter_in_scope} will not accept #{name} as subfilter: #{error}"
end