Sha256: 43f625a87af89f97c9d0fbd56ed7fa3c2237e6a079eceb5d1028c544d813c900

Contents?: true

Size: 817 Bytes

Versions: 40

Compression:

Stored size: 817 Bytes

Contents

module SchemaPlus
  module ActiveRecord
    module Schema #:nodoc: all
      def self.included(base)
        base.extend(ClassMethods)
      end

      module ClassMethods
        def self.extended(base)
          class << base
            alias_method_chain :define, :schema_plus
          end
        end

        def define_with_schema_plus(info={}, &block)
          fk_override = { :auto_create => false, :auto_index => false }
          save = Hash[fk_override.keys.collect{|key| [key, SchemaPlus.config.foreign_keys.send(key)]}]
          begin
            SchemaPlus.config.foreign_keys.update_attributes(fk_override)
            define_without_schema_plus(info, &block)
          ensure
            SchemaPlus.config.foreign_keys.update_attributes(save)
          end
        end
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
schema_plus-1.8.9 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.8 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.7 lib/schema_plus/active_record/schema.rb
schema_plus-2.0.0.pre2 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.6 lib/schema_plus/active_record/schema.rb
schema_plus-2.0.0.pre1 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.5 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.4 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.3 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.2 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.1 lib/schema_plus/active_record/schema.rb
schema_plus-1.8.0 lib/schema_plus/active_record/schema.rb
schema_plus-1.7.1 lib/schema_plus/active_record/schema.rb
schema_plus-1.7.0 lib/schema_plus/active_record/schema.rb
schema_plus-1.6.0 lib/schema_plus/active_record/schema.rb
schema_plus-1.5.3 lib/schema_plus/active_record/schema.rb
schema_plus-1.5.2 lib/schema_plus/active_record/schema.rb
schema_plus-1.5.1 lib/schema_plus/active_record/schema.rb
schema_plus-1.5.0 lib/schema_plus/active_record/schema.rb
schema_plus-1.4.1 lib/schema_plus/active_record/schema.rb