Class: Jaql::SqlGeneration::AssociationFunctionField
- Includes:
- AssociationSQL
- Defined in:
- lib/jaql/sql_generation/association_function_field.rb
Overview
Allows for creation of fields from some column on some association, e.g. creator.last_name
Constant Summary collapse
- COUNT_FUNCTION =
'count'- EXISTS_FUNCTION =
'exists'- SUPPORTED_FUNCTIONS =
[COUNT_FUNCTION, EXISTS_FUNCTION]
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(association, function_name, display_name = nil, subquery = nil) ⇒ AssociationFunctionField
constructor
A new instance of AssociationFunctionField.
- #to_sql ⇒ Object
Constructor Details
#initialize(association, function_name, display_name = nil, subquery = nil) ⇒ AssociationFunctionField
20 21 22 23 24 25 26 |
# File 'lib/jaql/sql_generation/association_function_field.rb', line 20 def initialize(association, function_name, display_name=nil, subquery=nil) @association = association @function_name = function_name.to_s.downcase @display_name = display_name @subquery = subquery @associated_table_alias = subquery.table_name_alias end |
Class Method Details
.supports?(function_name) ⇒ Boolean
12 13 14 |
# File 'lib/jaql/sql_generation/association_function_field.rb', line 12 def self.supports?(function_name) SUPPORTED_FUNCTIONS.include?(function_name.downcase) end |
Instance Method Details
#to_sql ⇒ Object
28 29 30 |
# File 'lib/jaql/sql_generation/association_function_field.rb', line 28 def to_sql [comment_sql, field_sql].join("\n") end |