class Tengine::Core::DslFilterDef

Constants

BRACE_FORMAT
FORMATTERS

Attributes

event_type_names[R]
filter[R]

Public Class Methods

new(event_type_names, filter) click to toggle source
# File lib/tengine/core/dsl_filter_def.rb, line 6
def initialize(event_type_names, filter)
  @event_type_names = event_type_names
  @filter = filter
end
new_and(left, right) click to toggle source
# File lib/tengine/core/dsl_filter_def.rb, line 26
def new_and(left, right)
  Tengine::Core::DslFilterDef.new(
    [left, right],
    {
      'type' => :and,
      'method' => :and,
      'children' => [
        { 'pattern' => left, 'method' => :find_or_mark_in_session },
        { 'pattern' => right, 'method' => :find_or_mark_in_session },
      ]
    })
end
new_at(event_type_name, source_pattern) click to toggle source
# File lib/tengine/core/dsl_filter_def.rb, line 39
def new_at(event_type_name, source_pattern)
  Tengine::Core::DslFilterDef.new(
    [event_type_name],
    {
      'type' => :at,
      'method' => :match_source_name?,
      'pattern' => source_pattern.to_s,
    })
end

Public Instance Methods

to_method_name() click to toggle source
# File lib/tengine/core/dsl_filter_def.rb, line 18
def to_method_name
  event_type_name_args =
    event_type_names.map{|obj| obj.is_a?(Tengine::Core::DslFilterDef) ? obj.to_method_name : obj.to_s}
  formatter = FORMATTERS[ filter['type'] ]
  BRACE_FORMAT % formatter.call(event_type_name_args, filter)
end