schema_plus 2.0.0.pre14 → 2.0.0.pre15

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: 1dc664ffb3d969d674d13187eb4a24ed787385c6
4
- data.tar.gz: 0a0b00cd17a6bad153bf9a002f3360ab5410d8e3
3
+ metadata.gz: 33f3e9b7a9b9bd74e21216f8f7c309556a660709
4
+ data.tar.gz: 00277e248e33a72fbfd052aa2124704f11a25b1b
5
5
  SHA512:
6
- metadata.gz: e49e502c04c11581a525c83fe450e01fb8c59c198c91d43e857574ef99d523d093b49ad5e2d4b715124e037c8db09a679e46d5b24af55eb44b0620611618d4cc
7
- data.tar.gz: 9976e6e8f318dd66b732882128922d5bb6c51dccaf530a4eb04a86135265645ab3f9acaa5184ceb1426149546b261dbb290ff633788a019a0b2f8fdfc57cbd5f
6
+ metadata.gz: 853671712bd6a18f8ca52dade7785d7a0450f6e4e5cd3e66f63c24e548a545f9e6feb1d308d75d79202e0d7c8ecc16971e50528d04b3c4995d6a1b687c10dd21
7
+ data.tar.gz: 3561d6d3cdd731354254895c81a9b800e1848164a8d47b85549c8e2a56fe56ad64518c8a091d4e1124bfa39273318a034147020fca80ceac6dba4724435d8fce
data/README.md CHANGED
@@ -35,7 +35,7 @@ See detailed documentation in each gem's README.
35
35
  [![Dependency Status](https://gemnasium.com/lomba/schema_plus.svg)](https://gemnasium.com/SchemaPlus/schema_plus)
36
36
 
37
37
 
38
- > ## This is the README for schema_plus 2.0.0.pre14
38
+ > ## This is the README for schema_plus 2.0.0.pre15
39
39
  > which supports Rails >= 4.2.0. This prerelease is completely usable. It's still officially a prerelease rather than formal release because some features have yet to be migrated into their own gems.
40
40
  >
41
41
  > For info about the 1.x releases which support Rails 3.1, 4.0, 4.1, and 4.2.0, see the [schema_plus 1.x](https://github.com/SchemaPlus/schema_plus/tree/1.x) branch
@@ -67,9 +67,19 @@ module SchemaPlus::ForeignKeys::ActiveRecord::ConnectionAdapters
67
67
 
68
68
  attr_accessor :schema_plus_config #:nodoc:
69
69
 
70
- def foreign_keys
71
- @foreign_keys ||= []
72
- end if ActiveRecord.version == Gem::Version.new("4.2.0")
70
+ if ActiveRecord.version == Gem::Version.new("4.2.0")
71
+ def foreign_keys
72
+ @foreign_keys ||= []
73
+ end
74
+
75
+ def foreign_keys_for_table(*)
76
+ foreign_keys
77
+ end
78
+ else
79
+ def foreign_keys_for_table(table)
80
+ foreign_keys[table] ||= []
81
+ end
82
+ end
73
83
 
74
84
  def foreign_key(*args) # (column_names, to_table, primary_key=nil, options=nil)
75
85
  options = args.extract_options!
@@ -90,10 +100,7 @@ module SchemaPlus::ForeignKeys::ActiveRecord::ConnectionAdapters
90
100
  options.merge!(:column => column_names)
91
101
  options.reverse_merge!(:name => ForeignKeyDefinition.default_name(self.name, column_names))
92
102
  fk = ::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition.new(self.name, AbstractAdapter.proper_table_name(to_table), options)
93
- case ::ActiveRecord.version
94
- when Gem::Version.new("4.2.0") then foreign_keys << fk
95
- else foreign_keys[fk.to_table] = fk
96
- end
103
+ foreign_keys_for_table(fk.to_table) << fk
97
104
  self
98
105
  end
99
106
 
@@ -5,7 +5,7 @@ module SchemaPlus::ForeignKeys
5
5
  def after(env)
6
6
  foreign_keys = case ::ActiveRecord.version
7
7
  when Gem::Version.new("4.2.0") then env.table_definition.foreign_keys
8
- else env.table_definition.foreign_keys.values
8
+ else env.table_definition.foreign_keys.values.tap { |v| v.flatten! }
9
9
  end
10
10
 
11
11
  # create foreign key constraints inline in table definition
@@ -1,3 +1,3 @@
1
1
  module SchemaPlus
2
- VERSION = "2.0.0.pre14"
2
+ VERSION = "2.0.0.pre15"
3
3
  end
@@ -100,6 +100,14 @@ describe ActiveRecord::Migration do
100
100
  expect(@model).to reference(:users, :id).with_name("wugga")
101
101
  end
102
102
 
103
+ it "should allow multiple foreign keys to be made" do
104
+ recreate_table(@model) do |t|
105
+ t.integer :updater_id, :references => :users
106
+ end
107
+ expect(@model).to reference(:users, :id).on(:user_id)
108
+ expect(@model).to reference(:users, :id).on(:updater_id)
109
+ end
110
+
103
111
  it "should suppress foreign key" do
104
112
  recreate_table(@model) do |t|
105
113
  t.integer :member_id, :foreign_key => false
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre14
4
+ version: 2.0.0.pre15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronen Barzel
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-23 00:00:00.000000000 Z
12
+ date: 2015-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord