Module: Wice::MergeConditions::ClassMethods
- Defined in:
- lib/wice/wice_grid_misc.rb
Overview
:nodoc:
Instance Method Summary collapse
- #_sanitize_sql_hash_for_conditions(attrs, default_table_name = self.table_name) ⇒ Object
-
#merge_conditions(*conditions) ⇒ Object
:nodoc:.
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 = (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 |