Sha256: 2fe020917b9e269e9046ba93e482df5413126350094546cf0be21a49d4e92cd5
Contents?: true
Size: 565 Bytes
Versions: 6
Compression:
Stored size: 565 Bytes
Contents
module RecordFilter class Join attr_reader :left_table, :right_table def initialize(left_table, right_table, join_predicate) @left_table, @right_table, @join_predicate = left_table, right_table, join_predicate end def to_sql predicate_sql = @join_predicate.map do |left_column, right_column| "#{@left_table.table_alias}.#{left_column} = #{@right_table.table_alias}.#{right_column}" end * ' AND ' "INNER JOIN #{@right_table.table_name} AS #{@right_table.table_alias} ON #{predicate_sql}" end end end
Version data entries
6 entries across 6 versions & 2 rubygems