class Scim::Kit::V2::Filter::Visitor

@private

Constants

VISITORS

Public Instance Methods

visit(node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 26
def visit(node)
  visitor_for(node).call(node)
end

Protected Instance Methods

visit_and(node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 36
def visit_and(node)
  visit(node.left).merge(visit(node.right))
  raise error_for(:visit_and)
end
visit_contains(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 53
def visit_contains(_node)
  raise error_for(:visit_contains)
end
visit_ends_with(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 61
def visit_ends_with(_node)
  raise error_for(:visit_ends_with)
end
visit_equals(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 45
def visit_equals(_node)
  raise error_for(:visit_equals)
end
visit_greater_than(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 65
def visit_greater_than(_node)
  raise error_for(:visit_greater_than)
end
visit_greater_than_equals(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 69
def visit_greater_than_equals(_node)
  raise error_for(:visit_greater_than_equals)
end
visit_less_than(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 73
def visit_less_than(_node)
  raise error_for(:visit_less_than)
end
visit_less_than_equals(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 77
def visit_less_than_equals(_node)
  raise error_for(:visit_less_than_equals)
end
visit_not_equals(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 49
def visit_not_equals(_node)
  raise error_for(:visit_not_equals)
end
visit_or(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 41
def visit_or(_node)
  raise error_for(:visit_or)
end
visit_presence(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 81
def visit_presence(_node)
  raise error_for(:visit_presence)
end
visit_starts_with(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 57
def visit_starts_with(_node)
  raise error_for(:visit_starts_with)
end
visit_unknown(_node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 85
def visit_unknown(_node)
  raise error_for(:visit_unknown)
end
visitor_for(node) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 32
def visitor_for(node)
  method(VISITORS.fetch(node.operator, :visit_unknown))
end

Private Instance Methods

error_for(method) click to toggle source
# File lib/scim/kit/v2/filter/visitor.rb, line 91
def error_for(method)
  ::Scim::Kit::NotImplementedError.new("#{method} is not implemented")
end