foreigner 1.7.1 → 1.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f53d6f236ea03953ecaa96a130900e955fbb6835
4
- data.tar.gz: c97abd90d8c7cc6b85868b06d52e6744ad9ff220
3
+ metadata.gz: 9659be7bd66b453f51a66ce111a04948edd03019
4
+ data.tar.gz: 1690901601fc8957e2bf57bad7c9ea7403c82733
5
5
  SHA512:
6
- metadata.gz: 215f8987ede00716f3e3335d4db4cb5cb353cdfe599b4b2c40b8e138a491bde1638a03dc51417bb3741733915f1ecdc5480bcb7d983b5582a46f66ff3fa4782e
7
- data.tar.gz: c21f84ba666b4aabb79ea0e8f42f2e98fb9dbae0cf2a3c94cb296d12e38dafedef66e51920fab8b0a09cda722f5b394b17ae68934899493fd0ae60efd719d3cb
6
+ metadata.gz: ffd1cd048c62f8711d3f552f1bab29a9b8fe9585160804f5a8de4b3cb032f3cc45a30d05451ab8b1156ec65fee0dc58f7e1feb831999e7591c0c3dab75e6ca9f
7
+ data.tar.gz: 41230bd111817bcb7ac80b20377c8945f7975fdc4e54a9757f1de2a0cc38b19b9d9002461600bd18aa5e9cc8a0c98951e5008aa2e83f9693524c7ed783233f9a
@@ -33,4 +33,5 @@ Foreigner::Adapter.register 'jdbcpostgresql', 'foreigner/connection_adapters/pos
33
33
  Foreigner::Adapter.register 'sqlite3', 'foreigner/connection_adapters/noop_adapter'
34
34
 
35
35
  require 'foreigner/loader'
36
+ require 'foreigner/helper'
36
37
  require 'foreigner/railtie' if defined?(Rails)
@@ -0,0 +1,13 @@
1
+ module Foreigner
2
+ module Helper
3
+ def self.active_record_version
4
+ if ::ActiveRecord.respond_to? :version
5
+ ActiveRecord.version.to_s
6
+ elsif ::ActiveRecord::VERSION
7
+ ::ActiveRecord::VERSION
8
+ else
9
+ raise "Unknown ActiveRecord Version API"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -42,6 +42,10 @@ module Foreigner
42
42
 
43
43
  def tables_with_foreign_keys(stream)
44
44
  tables_without_foreign_keys(stream)
45
+ # Ensure Foreigner to be initialized before running foreign_keys.
46
+ # This is required since schema::load is not initializing the environment
47
+ # anymore in Rails 4.1.9 (https://github.com/rails/rails/commit/5d6bb89f)
48
+ stream.puts ' Foreigner.load' if Foreigner::Helper.active_record_version == '4.1.9'
45
49
  @connection.tables.sort.each do |table|
46
50
  next if ['schema_migrations', ignore_tables].flatten.any? do |ignored|
47
51
  case ignored
@@ -11,7 +11,7 @@ class Foreigner::SchemaDumperTest < Foreigner::UnitTest
11
11
  class MockSchemaDumper
12
12
  cattr_accessor :ignore_tables
13
13
 
14
- attr_accessor :processed_tables
14
+ attr_accessor :processed_tables, :stream
15
15
  def initialize
16
16
  @connection = MockConnection.new
17
17
  @processed_tables = []
@@ -21,6 +21,7 @@ class Foreigner::SchemaDumperTest < Foreigner::UnitTest
21
21
  end
22
22
 
23
23
  def foreign_keys(table, stream)
24
+ self.stream = stream
24
25
  processed_tables << table
25
26
  end
26
27
 
@@ -49,6 +50,15 @@ class Foreigner::SchemaDumperTest < Foreigner::UnitTest
49
50
  assert_equal ['bar'].to_set, dumper.processed_tables.to_set
50
51
  end
51
52
 
53
+ test '4.1.9 loading error' do
54
+ Foreigner::Helper.stubs(:active_record_version).returns("4.1.9")
55
+ MockSchemaDumper.ignore_tables = []
56
+ dumper = MockSchemaDumper.new
57
+ dumper.tables(StringIO.new)
58
+
59
+ assert_match(/Foreigner\.load/, dumper.stream.string)
60
+ end
61
+
52
62
  test 'removes table name suffix and prefix' do
53
63
  begin
54
64
  ActiveRecord::Base.table_name_prefix = 'pre_'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreigner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Higgins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-01 00:00:00.000000000 Z
11
+ date: 2015-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -73,6 +73,7 @@ files:
73
73
  - lib/foreigner/connection_adapters/noop_adapter.rb
74
74
  - lib/foreigner/connection_adapters/postgresql_adapter.rb
75
75
  - lib/foreigner/connection_adapters/sql2003.rb
76
+ - lib/foreigner/helper.rb
76
77
  - lib/foreigner/loader.rb
77
78
  - lib/foreigner/migration/command_recorder.rb
78
79
  - lib/foreigner/railtie.rb