Sha256: 802b6af3beb5185839c7ad20121a20d07a97fc54b3ac698a46794c6ef3413755

Contents?: true

Size: 554 Bytes

Versions: 2

Compression:

Stored size: 554 Bytes

Contents

module ActiveRecord
  module MTI
    module Table

      def self.find(klass, table_name, parent_class=klass.superclass)
        if concrete?(parent_class) && parent_mti_table = parent_class.mti_table
          ::ActiveRecord::MTI.child_tables.find(inhparent: parent_mti_table.oid, name: table_name) #|| parent_mti_table
        else
          ::ActiveRecord::MTI.parent_tables.find(name: table_name)
        end
      end

      def self.concrete?(klass)
        klass < ::ActiveRecord::Base && !klass.try(:abstract_class?)
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
active_record-mti-0.4.0.pre.2 lib/active_record/mti/table.rb
active_record-mti-0.4.0.pre.1 lib/active_record/mti/table.rb