class Rubanok::DSL::Matching::Rule
Constants
- METHOD_PREFIX
Attributes
clauses[R]
Public Class Methods
new(fields, activate_on: fields, activate_always: false, ignore_empty_values: Rubanok.ignore_empty_values, filter_with: nil)
click to toggle source
Calls superclass method
# File lib/rubanok/dsl/matching.rb, line 42 def initialize(fields, activate_on: fields, activate_always: false, ignore_empty_values: Rubanok.ignore_empty_values, filter_with: nil) super @clauses = [] end
Public Instance Methods
default(&block)
click to toggle source
# File lib/rubanok/dsl/matching.rb, line 57 def default(&block) clauses << Clause.new("#{to_method_name}_default", fields, [], activate_always: true, &block) end
having(*values, &block)
click to toggle source
# File lib/rubanok/dsl/matching.rb, line 53 def having(*values, &block) clauses << Clause.new("#{to_method_name}_#{clauses.size}", fields, values, &block) end
matching_clause(params)
click to toggle source
# File lib/rubanok/dsl/matching.rb, line 47 def matching_clause(params) clauses.detect do |clause| clause.applicable?(params) end end
Private Instance Methods
build_method_name()
click to toggle source
prefix rule method name to avoid collisions
# File lib/rubanok/dsl/matching.rb, line 64 def build_method_name "#{METHOD_PREFIX}#{super}" end