Module: Wice::MergeConditions::ClassMethods

Defined in:
lib/wice/wice_grid_misc.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#_sanitize_sql_hash_for_conditions(attrs, default_table_name = self.table_name) ⇒ Object



59
60
61
62
63
64
65
66
# File 'lib/wice/wice_grid_misc.rb', line 59

def _sanitize_sql_hash_for_conditions(attrs, default_table_name = self.table_name)
  attrs = expand_hash_conditions_for_aggregates(attrs)

  table = Arel::Table.new(table_name, arel_engine).alias(default_table_name)
  ActiveRecord::PredicateBuilder.build_from_hash(self, attrs, table).map { |b|
    connection.visitor.accept b
  }.join(' AND ')
end

#merge_conditions(*conditions) ⇒ Object

:nodoc:



69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/wice/wice_grid_misc.rb', line 69

def merge_conditions(*conditions) #:nodoc:
  segments = []

  conditions.each do |condition|
    unless condition.blank?
      sql = condition.is_a?(Hash) ? _sanitize_sql_hash_for_conditions(condition) : sanitize_sql_array(condition)
      segments << sql unless sql.blank?
    end
  end

  "(#{segments.join(') AND (')})" unless segments.empty?
end