Class: Arel::Nodes::Cte
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::Binary
|
Defined in: | activerecord/lib/arel/nodes/cte.rb |
Class Method Summary
Instance Attribute Summary
Instance Method Summary
-
#==(other)
Alias for #eql?.
- #eql?(other) ⇒ Boolean (also: #==)
- #hash
- #name
- #relation
- #to_cte
- #to_table
Binary
- Inherited
#== | Alias for Binary#eql?. |
#eql?, #hash, #initialize_copy |
::Arel::Math
- Included
::Arel::OrderPredications
- Included
::Arel::AliasPredication
- Included
::Arel::Predications
- Included
::Arel::Expressions
- Included
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(name, relation, materialized: nil) ⇒ Cte
# File 'activerecord/lib/arel/nodes/cte.rb', line 10
def initialize(name, relation, materialized: nil) super(name, relation) @materialized = materialized end
Instance Attribute Details
#materialized (readonly)
[ GitHub ]# File 'activerecord/lib/arel/nodes/cte.rb', line 8
attr_reader :materialized
Instance Method Details
#==(other)
Alias for #eql?.
# File 'activerecord/lib/arel/nodes/cte.rb', line 25
alias :== :eql?
#eql?(other) ⇒ Boolean
Also known as: #==
# File 'activerecord/lib/arel/nodes/cte.rb', line 19
def eql?(other) self.class == other.class && self.name == other.name && self.relation == other.relation && self.materialized == other.materialized end
#hash
[ GitHub ]# File 'activerecord/lib/arel/nodes/cte.rb', line 15
def hash [name, relation, materialized].hash end
#name
[ GitHub ]# File 'activerecord/lib/arel/nodes/cte.rb', line 6
alias :name :left
#relation
[ GitHub ]# File 'activerecord/lib/arel/nodes/cte.rb', line 7
alias :relation :right
#to_cte
[ GitHub ]# File 'activerecord/lib/arel/nodes/cte.rb', line 27
def to_cte self end