Class: Arel::Sql::SelectClause
Instance Attribute Summary
Attributes inherited from Formatter
#christener, #engine, #environment
Instance Method Summary
collapse
Methods inherited from Formatter
#initialize, #name_for, #quote, #quote_column_name, #quote_table_name
Instance Method Details
#attribute(attribute) ⇒ Object
30
31
32
33
|
# File 'lib/arel/engines/sql/formatters.rb', line 30
def attribute(attribute)
"#{quote_table_name(name_for(attribute.original_relation))}.#{quote_column_name(attribute.name)}" +
(attribute.alias ? " AS #{quote(attribute.alias.to_s)}" : "")
end
|
#expression(expression) ⇒ Object
35
36
37
38
39
40
41
42
43
|
# File 'lib/arel/engines/sql/formatters.rb', line 35
def expression(expression)
if expression.function_sql == "DISTINCT"
"#{expression.function_sql} #{expression.attribute.to_sql(self)}" +
(expression.alias ? " AS #{quote_column_name(expression.alias)}" : '')
else
"#{expression.function_sql}(#{expression.attribute.to_sql(self)})" +
(expression.alias ? " AS #{quote_column_name(expression.alias)}" : " AS #{expression.function_sql.to_s.downcase}_id")
end
end
|
#select(select_sql, table) ⇒ Object
45
46
47
|
# File 'lib/arel/engines/sql/formatters.rb', line 45
def select(select_sql, table)
"(#{select_sql}) AS #{quote_table_name(name_for(table))}"
end
|
#value(value) ⇒ Object
49
50
51
|
# File 'lib/arel/engines/sql/formatters.rb', line 49
def value(value)
value
end
|