module Foreigner::SchemaDumper::ClassMethods

Public Instance Methods

dump_foreign_key(foreign_key) click to toggle source
# File lib/foreigner/schema_dumper.rb, line 10
def dump_foreign_key(foreign_key)
  statement_parts = [ ('add_foreign_key ' + foreign_key.from_table.inspect) ]
  statement_parts << foreign_key.to_table.inspect
  statement_parts << (':name => ' + foreign_key.options[:name].inspect)

  if foreign_key.options[:column] != "#{foreign_key.to_table.singularize}_id"
    statement_parts << (':column => ' + foreign_key.options[:column].inspect)
  end
  if foreign_key.options[:primary_key] != 'id'
    statement_parts << (':primary_key => ' + foreign_key.options[:primary_key].inspect)
  end
  if foreign_key.options[:dependent].present?
    statement_parts << (':dependent => ' + foreign_key.options[:dependent].inspect)
  end

  statement_parts.join(', ')
end