Class: Squeel::Nodes::Literal
- Inherits:
-
Object
- Object
- Squeel::Nodes::Literal
- Includes:
- Aliasing, Operators, PredicateMethods
- Defined in:
- lib/squeel/nodes/literal.rb
Overview
Literal nodes are a container for raw SQL.
Instance Attribute Summary collapse
-
#expr ⇒ Object
readonly
Returns the value of attribute expr.
Instance Method Summary collapse
-
#asc ⇒ Order
Create an ascending Order node with this Literal as its expression.
-
#desc ⇒ Order
Create a descending Order node with this Literal as its expression.
-
#eql?(other) ⇒ Boolean
Object comparison.
-
#hash ⇒ Object
To support object equality tests.
-
#initialize(expr) ⇒ Literal
constructor
A new instance of Literal.
-
#to_s ⇒ String
(also: #to_str)
The Literal’s String equivalent.
-
#to_sym ⇒ NilClass
expand_hash_conditions_for_aggregates assumes our hash keys can be converted to symbols, so this has to be implemented, but it doesn’t really have to do anything useful.
Methods included from Aliasing
Methods included from Operators
Constructor Details
#initialize(expr) ⇒ Literal
Returns a new instance of Literal.
15 16 17 |
# File 'lib/squeel/nodes/literal.rb', line 15 def initialize(expr) @expr = expr end |
Instance Attribute Details
#expr ⇒ Object (readonly)
Returns the value of attribute expr.
13 14 15 |
# File 'lib/squeel/nodes/literal.rb', line 13 def expr @expr end |
Instance Method Details
#asc ⇒ Order
Create an ascending Order node with this Literal as its expression
33 34 35 |
# File 'lib/squeel/nodes/literal.rb', line 33 def asc Order.new self, 1 end |
#desc ⇒ Order
Create a descending Order node with this Literal as its expression
39 40 41 |
# File 'lib/squeel/nodes/literal.rb', line 39 def desc Order.new self, -1 end |
#eql?(other) ⇒ Boolean
Object comparison
44 45 46 47 |
# File 'lib/squeel/nodes/literal.rb', line 44 def eql?(other) self.class.eql?(other.class) && self.expr.eql?(other.expr) end |
#hash ⇒ Object
To support object equality tests
50 51 52 |
# File 'lib/squeel/nodes/literal.rb', line 50 def hash expr.hash end |
#to_s ⇒ String Also known as: to_str
Returns The Literal’s String equivalent.
63 64 65 |
# File 'lib/squeel/nodes/literal.rb', line 63 def to_s expr.to_s end |
#to_sym ⇒ NilClass
expand_hash_conditions_for_aggregates assumes our hash keys can be converted to symbols, so this has to be implemented, but it doesn’t really have to do anything useful.
58 59 60 |
# File 'lib/squeel/nodes/literal.rb', line 58 def to_sym nil end |