Sha256: b91f4f5f9f7f4ba023ef5f4dbfbf5c4bce83b6a6abe54fd13d9ce35193678707

Contents?: true

Size: 951 Bytes

Versions: 2

Compression:

Stored size: 951 Bytes

Contents

module SchemaPlus::ForeignKeys
  module ActiveRecord

    #
    # SchemaPlus::ForeignKeys adds several methods to ActiveRecord::Base
    #
    module Base
      module ClassMethods #:nodoc:

        public

        # Returns a list of ForeignKeyDefinition objects, for each foreign
        # key constraint defined in this model's table
        #
        # (memoized result gets reset in Middleware::Model::ResetColumnInformation)
        def foreign_keys
          @foreign_keys ||= connection.foreign_keys(table_name, "#{name} Foreign Keys")
        end

        def reset_foreign_key_information
          @foreign_keys = nil
        end

        # Returns a list of ForeignKeyDefinition objects, for each foreign
        # key constraint of other tables that refer to this model's table
        def reverse_foreign_keys
          connection.reverse_foreign_keys(table_name, "#{name} Reverse Foreign Keys")
        end

      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
schema_plus-2.0.0.pre7 lib/schema_plus/foreign_keys/active_record/base.rb
schema_plus-2.0.0.pre6 lib/schema_plus/foreign_keys/active_record/base.rb