class MongoQL::Expression

Constants

FORMATING_OPS

Public Instance Methods

as_date() click to toggle source
# File lib/mongo_ql/expression.rb, line 51
def as_date
  Expression::DateNode.new(self)
end
default(default_val)
Alias for: if_null
if_null(default_val) click to toggle source
# File lib/mongo_ql/expression.rb, line 44
def if_null(default_val)
  Expression::MethodCall.new "$ifNull", self, ast_template: -> (target, **_args) {
    [target, to_expression(default_val)]
  }
end
Also aliased as: default
then(then_expr = nil, &block) click to toggle source
# File lib/mongo_ql/expression.rb, line 55
def then(then_expr = nil, &block)
  Expression::Condition.new(self, then_expr, nil, &block)
end
to_ast() click to toggle source
# File lib/mongo_ql/expression.rb, line 59
def to_ast
  raise NotImplementedError, "#{self.class.name} must implement to_ast"
end
type() click to toggle source
# File lib/mongo_ql/expression.rb, line 40
def type
  Expression::MethodCall.new "$type", self
end

Protected Instance Methods

to_expression(val) click to toggle source
# File lib/mongo_ql/expression.rb, line 64
def to_expression(val)
  if val.is_a?(Expression)
    val
  else
    Expression::ValueNode.new(val)
  end
end