class JoinClause

Attributes

assoc_options[R]
source_table[R]

Public Class Methods

new(assoc_options, source_table) click to toggle source
# File lib/activeleopard/query_clauses/join_clause.rb, line 4
def initialize(assoc_options, source_table)
  unless assoc_options
    raise InvalidInput, "Argument must be an association(type: symbol)"
  end

  @assoc_options = assoc_options
  @source_table = source_table
end

Public Instance Methods

as_sql() click to toggle source
# File lib/activeleopard/query_clauses/join_clause.rb, line 22
def as_sql
  "JOIN #{other_table} ON #{on_clause} "
end
on_clause() click to toggle source
# File lib/activeleopard/query_clauses/join_clause.rb, line 17
def on_clause
  "#{source_table}.#{assoc_options.own_join_column}" +
  " = " + "#{other_table}.#{assoc_options.other_join_column}"
end
other_table() click to toggle source
# File lib/activeleopard/query_clauses/join_clause.rb, line 13
def other_table
  assoc_options.table_name
end