Class: Searchgasm::Condition::SiblingOf
- Defined in:
- lib/searchgasm/condition/sibling_of.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Tree
name_for_column, name_for_klass
Methods inherited from Base
aliases_for_column, 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
Instance Method Details
#to_conditions(value) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/searchgasm/condition/sibling_of.rb', line 4 def to_conditions(value) parent_association = klass.reflect_on_association(:parent) foreign_key_name = (parent_association && parent_association.[:foreign_key]) || "parent_id" parent_id = (value.is_a?(klass) ? value : klass.find(value)).send(foreign_key_name) condition = ChildOf.new(klass, column) condition.value = parent_id merge_conditions(["#{quoted_table_name}.#{quote_column_name(klass.primary_key)} != ?", (value.is_a?(klass) ? value.send(klass.primary_key) : value)], condition.sanitize) end |