class Druid::Having

Attributes

aggregation[RW]
havingSpec[RW]
havingSpecs[RW]
type[RW]
value[RW]

Public Instance Methods

as_json(options = {}) click to toggle source
Calls superclass method
# File lib/druid/having.rb, line 87
def as_json(options = {})
  super(options.merge(except: %w(errors validation_context)))
end
chain(other) click to toggle source
# File lib/druid/having.rb, line 75
def chain(other)
  return unless other
  if self.operator? && self.and?
    having = self
  else
    having = HavingOperator.new(type: 'and')
    having.havingSpecs << self
  end
  having.havingSpecs << other
  having
end
clause?() click to toggle source
# File lib/druid/having.rb, line 67
def clause?
  is_a?(HavingClause)
end
method_missing(name, *args) click to toggle source
# File lib/druid/having.rb, line 61
def method_missing(name, *args)
  if args.empty?
    HavingClause.new(aggregation: name)
  end
end
operator?() click to toggle source
# File lib/druid/having.rb, line 71
def operator?
  is_a?(HavingOperator)
end