Sha256: ed345e7bf5c210abfb3a43b13cfa8b6e3b71505162aec889b08f320f6e785c30
Contents?: true
Size: 859 Bytes
Versions: 3
Compression:
Stored size: 859 Bytes
Contents
module ActiveRecord module MTI module QueryMethods def build_arel select_by_tableoid = select_values.delete(:tableoid) == :tableoid group_by_tableoid = group_values.delete(:tableoid) == :tableoid arel = super if tableoid?(@klass) || group_by_tableoid || select_by_tableoid arel.project(tableoid_project(@klass)) arel.group(tableoid_group(@klass)) if group_values.any? || group_by_tableoid end arel end private def tableoid?(klass) !Thread.current['skip_tableoid_cast'] && klass.using_multi_table_inheritance? && klass.has_tableoid_column? end def tableoid_project(klass) klass.mti_type_column.as('tableoid') end def tableoid_group(klass) klass.mti_type_column end end end end
Version data entries
3 entries across 3 versions & 1 rubygems