Module: ChronoModel::TimeMachine::QueryMethods

Defined in:
lib/chrono_model/time_machine.rb

Instance Method Summary collapse

Instance Method Details

#build_arelObject



644
645
646
647
648
649
650
651
652
653
654
655
656
657
# File 'lib/chrono_model/time_machine.rb', line 644

def build_arel
  super.tap do |arel|

    arel.join_sources.each do |join|
      model = TimeMachine.chrono_models[join.left.table_name]
      next unless model

      join.left = Arel::Nodes::SqlLiteral.new(
        model.history.virtual_table_at(@temporal, join.left.table_alias || join.left.table_name)
      )
    end if @temporal

  end
end