Class: Cyrel::Expression::Alias
- Defined in:
- lib/cyrel/expression/alias.rb
Overview
Represents an aliased expression (e.g., count(n) AS count_n).
Instance Attribute Summary collapse
-
#alias_name ⇒ Object
readonly
Returns the value of attribute alias_name.
-
#expression ⇒ Object
readonly
Returns the value of attribute expression.
Instance Method Summary collapse
-
#initialize(expression, alias_name) ⇒ Alias
constructor
A new instance of Alias.
-
#render(query) ⇒ String
Renders the aliased expression.
Methods inherited from Base
#!=, #%, #&, #*, #+, #-, #/, #<, #<=, #==, #=~, #>, #>=, #^, #|
Constructor Details
#initialize(expression, alias_name) ⇒ Alias
Returns a new instance of Alias.
11 12 13 14 15 16 |
# File 'lib/cyrel/expression/alias.rb', line 11 def initialize(expression, alias_name) raise ArgumentError, 'Expression must be a Cyrel::Expression::Base' unless expression.is_a?(Base) @expression = expression @alias_name = alias_name.to_sym end |
Instance Attribute Details
#alias_name ⇒ Object (readonly)
Returns the value of attribute alias_name.
7 8 9 |
# File 'lib/cyrel/expression/alias.rb', line 7 def alias_name @alias_name end |
#expression ⇒ Object (readonly)
Returns the value of attribute expression.
7 8 9 |
# File 'lib/cyrel/expression/alias.rb', line 7 def expression @expression end |
Instance Method Details
#render(query) ⇒ String
Renders the aliased expression.
21 22 23 24 |
# File 'lib/cyrel/expression/alias.rb', line 21 def render(query) rendered_expr = @expression.render(query) "#{rendered_expr} AS #{@alias_name}" end |