module ActiveHouse::Querying::Having

Public Instance Methods

build_having_query_part() click to toggle source
# File lib/active_house/querying/having.rb, line 13
def build_having_query_part
  "HAVING\n" + values[:having].join(" AND\n") unless values[:having].empty?
end
format_having(conditions) click to toggle source
# File lib/active_house/querying/having.rb, line 31
def format_having(conditions)
  raise ArgumentError, 'wrong number of arguments' if conditions.empty?
  raise ArgumentError, 'wrong number of arguments' if conditions.empty?

  return [ActiveHouse::PreparedStatement.prepare_sql(*conditions)] if conditions.size > 1

  ActiveHouse::PreparedStatement.build_condition(conditions.first)
end
having(*conditions) click to toggle source
# File lib/active_house/querying/having.rb, line 27
def having(*conditions)
  dup.having!(*conditions)
end
having!(*conditions) click to toggle source
# File lib/active_house/querying/having.rb, line 21
def having!(*conditions)
  formatted_conditions = format_having(conditions)
  values[:having] = (values[:having] + formatted_conditions).uniq
  self
end
initial_values() click to toggle source
Calls superclass method
# File lib/active_house/querying/having.rb, line 17
def initial_values
  super.merge having: []
end