Class: Arel::Nodes::HomogeneousIn
Do not use. This class is for internal use only.
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Node
|
|
Instance Chain:
self,
Node ,
::Arel::FactoryMethods
|
|
Inherits: |
Arel::Nodes::Node
|
Defined in: | activerecord/lib/arel/nodes/homogeneous_in.rb |
Class Method Summary
- .new(values, attribute, type) ⇒ HomogeneousIn constructor
Instance Attribute Summary
- #attribute readonly
- #equality? ⇒ Boolean readonly
- #type readonly
- #values readonly
Node
- Inherited
Instance Method Summary
-
#==(other)
Alias for #eql?.
- #casted_values
- #eql?(other) ⇒ Boolean (also: #==)
- #fetch_attribute(&block)
- #hash
- #invert
- #left
- #proc_for_binds
- #right
- #ivars protected
Node
- Inherited
#and | Factory method to create an And node. |
#fetch_attribute, #invert, | |
#not | Factory method to create a |
#or | |
#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(values, attribute, type) ⇒ HomogeneousIn
Instance Attribute Details
#attribute (readonly)
[ GitHub ]
#equality? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'activerecord/lib/arel/nodes/homogeneous_in.rb', line 23
def equality? type == :in end
#type (readonly)
[ GitHub ]#values (readonly)
[ GitHub ]Instance Method Details
#==(other)
Alias for #eql?.
# File 'activerecord/lib/arel/nodes/homogeneous_in.rb', line 21
alias :== :eql?
#casted_values
[ GitHub ]
#eql?(other) ⇒ Boolean
Also known as: #==
#fetch_attribute(&block)
[ GitHub ]#hash
[ GitHub ]# File 'activerecord/lib/arel/nodes/homogeneous_in.rb', line 14
def hash ivars.hash end
#invert
[ GitHub ]#ivars (protected)
[ GitHub ]# File 'activerecord/lib/arel/nodes/homogeneous_in.rb', line 63
def ivars [@attribute, @values, @type] end
#left
[ GitHub ]# File 'activerecord/lib/arel/nodes/homogeneous_in.rb', line 31
def left attribute end
#proc_for_binds
[ GitHub ]# File 'activerecord/lib/arel/nodes/homogeneous_in.rb', line 50
def proc_for_binds #=> value { ActiveModel::Attribute.with_cast_value(attribute.name, value, ActiveModel::Type.default_value) } end