Class: ActiveRecord::PredicateBuilder::ComparisonValue
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
|
|
| Inherits: |
Arel::Nodes::NodeExpression
|
| Defined in: | activerecord/lib/active_record/relation/predicate_builder/comparison.rb |
Class Method Summary
- .new(query_attribute) ⇒ ComparisonValue constructor
Instance Attribute Summary
- #expression readonly
- #query_attribute readonly
- #value_before_type_cast readonly
::Arel::Nodes::Node - Inherited
Instance Method Summary
- #==(other) (also: #eql?)
-
#eql?(other)
Alias for #==.
- #hash
- #infinite? ⇒ Boolean
- #nil? ⇒ Boolean
- #unboundable? ⇒ Boolean
::Arel::Math - Included
::Arel::OrderPredications - Included
::Arel::AliasPredication - Included
::Arel::Predications - Included
::Arel::Expressions - Included
::Arel::Nodes::Node - Inherited
| #and | Factory method to create an |
| #fetch_attribute, #invert, | |
| #not | Factory method to create a |
| #or | Factory method to create a |
| #to_sql | FIXME: this method should go away. |
::Arel::FactoryMethods - Included
| #cast, #coalesce, #create_and, #create_false, #create_join, #create_on, #create_string_join, #create_table_alias, #create_true, #grouping, | |
| #lower | Create a LOWER() function. |
Constructor Details
.new(query_attribute) ⇒ ComparisonValue
# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 43
def initialize(query_attribute) @query_attribute = query_attribute @expression = query_attribute.type.comparison_expression(query_attribute) end
Instance Attribute Details
#expression (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 41
attr_reader :expression, :query_attribute
#query_attribute (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 41
attr_reader :expression, :query_attribute
#value_before_type_cast (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 48
delegate :infinite?, :nil?, :unboundable?, :value_before_type_cast, to: :query_attribute
Instance Method Details
#==(other) Also known as: #eql?
[ GitHub ]# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 54
def ==(other) self.class == other.class && expression == other.expression && query_attribute == other.query_attribute end
#eql?(other)
Alias for #==.
# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 59
alias eql? ==
#hash
[ GitHub ]# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 50
def hash [self.class, expression, query_attribute].hash end
#infinite? ⇒ Boolean
# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 48
delegate :infinite?, :nil?, :unboundable?, :value_before_type_cast, to: :query_attribute
#nil? ⇒ Boolean
# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 48
delegate :infinite?, :nil?, :unboundable?, :value_before_type_cast, to: :query_attribute
#unboundable? ⇒ Boolean
# File 'activerecord/lib/active_record/relation/predicate_builder/comparison.rb', line 48
delegate :infinite?, :nil?, :unboundable?, :value_before_type_cast, to: :query_attribute