foreigner 1.7.1 → 1.7.2

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.
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