Class: Arel::Nodes::SelectStatement
- Defined in:
- lib/arel/nodes/select_statement.rb
Instance Attribute Summary collapse
-
#cores ⇒ Object
readonly
Returns the value of attribute cores.
-
#limit ⇒ Object
Returns the value of attribute limit.
-
#lock ⇒ Object
Returns the value of attribute lock.
-
#offset ⇒ Object
Returns the value of attribute offset.
-
#orders ⇒ Object
Returns the value of attribute orders.
-
#with ⇒ Object
Returns the value of attribute with.
Instance Method Summary collapse
- #eql?(other) ⇒ Boolean (also: #==)
- #hash ⇒ Object
-
#initialize(cores = [SelectCore.new]) ⇒ SelectStatement
constructor
A new instance of SelectStatement.
- #initialize_copy(other) ⇒ Object
Methods inherited from Node
#_caller, #and, #each, #not, #or, #to_sql
Methods included from FactoryMethods
#create_and, #create_false, #create_join, #create_on, #create_string_join, #create_table_alias, #create_true, #grouping, #lower
Constructor Details
#initialize(cores = [SelectCore.new]) ⇒ SelectStatement
Returns a new instance of SelectStatement.
7 8 9 10 11 12 13 14 15 |
# File 'lib/arel/nodes/select_statement.rb', line 7 def initialize cores = [SelectCore.new] super() @cores = cores @orders = [] @limit = nil @lock = nil @offset = nil @with = nil end |
Instance Attribute Details
#cores ⇒ Object (readonly)
Returns the value of attribute cores.
4 5 6 |
# File 'lib/arel/nodes/select_statement.rb', line 4 def cores @cores end |
#limit ⇒ Object
Returns the value of attribute limit.
5 6 7 |
# File 'lib/arel/nodes/select_statement.rb', line 5 def limit @limit end |
#lock ⇒ Object
Returns the value of attribute lock.
5 6 7 |
# File 'lib/arel/nodes/select_statement.rb', line 5 def lock @lock end |
#offset ⇒ Object
Returns the value of attribute offset.
5 6 7 |
# File 'lib/arel/nodes/select_statement.rb', line 5 def offset @offset end |
#orders ⇒ Object
Returns the value of attribute orders.
5 6 7 |
# File 'lib/arel/nodes/select_statement.rb', line 5 def orders @orders end |
#with ⇒ Object
Returns the value of attribute with.
5 6 7 |
# File 'lib/arel/nodes/select_statement.rb', line 5 def with @with end |
Instance Method Details
#eql?(other) ⇒ Boolean Also known as: ==
27 28 29 30 31 32 33 34 35 |
# File 'lib/arel/nodes/select_statement.rb', line 27 def eql? other self.class == other.class && self.cores == other.cores && self.orders == other.orders && self.limit == other.limit && self.lock == other.lock && self.offset == other.offset && self.with == other.with end |
#hash ⇒ Object
23 24 25 |
# File 'lib/arel/nodes/select_statement.rb', line 23 def hash [@cores, @orders, @limit, @lock, @offset, @with].hash end |
#initialize_copy(other) ⇒ Object
17 18 19 20 21 |
# File 'lib/arel/nodes/select_statement.rb', line 17 def initialize_copy other super @cores = @cores.map { |x| x.clone } @orders = @orders.map { |x| x.clone } end |