class Babik::QuerySet::Join::AbstractJoin
A table join
Attributes
origin_table[R]
sql[R]
target_table[R]
Public Class Methods
new(target_table, origin_table)
click to toggle source
Construct a Join
@param target_table
[Babik::QuerySet::Join::TargetTable] target table of the join. @param origin_table
[Babik::QuerySet::Join::OriginTable] origin table of the join.
# File lib/babik/queryset/lib/join/join.rb, line 32 def initialize(target_table, origin_table) @target_table = target_table @origin_table = origin_table _init_sql end
Public Instance Methods
_init_sql()
click to toggle source
Initialize SQL of the JOIN
# File lib/babik/queryset/lib/join/join.rb, line 39 def _init_sql # Create the SQL code of the join @sql = %( #{self.class::JOIN_TYPE} JOIN #{@target_table.name} #{@target_table.table_alias} ON #{@target_table.table_alias}.#{@target_table.key} = #{@origin_table.table_alias}.#{@origin_table.key} ).delete("\n").gsub(/\s{2,}/, ' ').strip end
target_alias()
click to toggle source
Return the target table alias. @return [String] Target table alias.
# File lib/babik/queryset/lib/join/join.rb, line 49 def target_alias @target_table.table_alias end