foreigner 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,7 +26,7 @@ module Foreigner
26
26
  sql
27
27
  end
28
28
 
29
- def remove_foreign_key(table, options)
29
+ def remove_foreign_key(table, to_table = nil, options)
30
30
  execute "ALTER TABLE #{quote_table_name(table)} #{remove_foreign_key_sql(table, options)}"
31
31
  end
32
32
 
@@ -0,0 +1,42 @@
1
+ require 'helper'
2
+
3
+ class ReversibleTest < Foreigner::AdapterTest
4
+ include Foreigner::ConnectionAdapters::Mysql2Adapter
5
+ ActiveRecord::Migration::CommandRecorder.class_eval do
6
+ include Foreigner::Migration::CommandRecorder
7
+ end
8
+
9
+ test 'invert_remove_foreign_key' do
10
+ recorder = ActiveRecord::Migration::CommandRecorder.new
11
+ recorded = recorder.add_foreign_key(:table1, :table2)[0]
12
+ assert_equal(
13
+ send(recorded[0], *recorded[1]),
14
+ send(*recorder.invert_remove_foreign_key(:table1, :table2))
15
+ )
16
+ end
17
+ test 'invert_remove_foreign_key with column' do
18
+ recorder = ActiveRecord::Migration::CommandRecorder.new
19
+ recorded = recorder.add_foreign_key(:table1, :table2, :column => :column1)[0]
20
+ assert_equal(
21
+ send(recorded[0], *recorded[1]),
22
+ send(*recorder.invert_remove_foreign_key(:table1, :table2, :column => :column1))
23
+ )
24
+ end
25
+ test 'invert_add_foreign_key' do
26
+ recorder = ActiveRecord::Migration::CommandRecorder.new
27
+ recorded = recorder.remove_foreign_key(:table1, :table2)[0]
28
+ assert_equal(
29
+ send(recorded[0], *recorded[1]),
30
+ send(*recorder.invert_add_foreign_key(:table1, :table2))
31
+ )
32
+ end
33
+ test 'invert_add_foreign_key with column' do
34
+ recorder = ActiveRecord::Migration::CommandRecorder.new
35
+ recorded = recorder.remove_foreign_key(:table1, :table2, :column => :column1)[0]
36
+ assert_equal(
37
+ send(recorded[0], *recorded[1]),
38
+ send(*recorder.invert_add_foreign_key(:table1, :table2, :column => :column1))
39
+ )
40
+ end
41
+
42
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: foreigner
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.0
5
+ version: 1.0.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matthew Higgins
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-17 00:00:00 -07:00
13
+ date: 2011-05-22 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -48,6 +48,7 @@ files:
48
48
  - lib/foreigner.rb
49
49
  - test/helper.rb
50
50
  - test/mysql2_adapter_test.rb
51
+ - test/reversible_test.rb
51
52
  - test/sql2003_test.rb
52
53
  has_rdoc: true
53
54
  homepage: http://github.com/matthuhiggins/foreigner