Class: Searchgasm::Condition::DoesNotEqual

Inherits:
Base
  • Object
show all
Defined in:
lib/searchgasm/condition/does_not_equal.rb

Instance Attribute Summary

Attributes inherited from Base

#column, #klass

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

aliases_for_klass, comparable_column?, #condition_name, condition_name, #explicitly_set_value=, #explicitly_set_value?, ignore_blanks?, #initialize, #name, name_for_column, name_for_klass, #quote_column_name, #quote_table_name, #quoted_column_name, #quoted_table_name, #sanitize, string_column?, type_cast_value?, #value, #value=

Constructor Details

This class inherits a constructor from Searchgasm::Condition::Base

Class Method Details

.aliases_for_column(column) ⇒ Object



7
8
9
# File 'lib/searchgasm/condition/does_not_equal.rb', line 7

def aliases_for_column(column)
  ["#{column.name}_is_not", "#{column.name}_not"]
end

Instance Method Details

#to_conditions(value) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/searchgasm/condition/does_not_equal.rb', line 12

def to_conditions(value)
  # Delegate to equals and then change
  condition = Equals.new(klass, column)
  condition.value = value
  
  sql = condition.sanitize
  sql.gsub!(/ IS /, " IS NOT ")
  sql.gsub!(/ BETWEEN /, " NOT BETWEEN ")
  sql.gsub!(/ IN /, " NOT IN ")
  sql.gsub!(/=/, "!=")
  sql
end