schema_plus 2.0.0.pre14 → 2.0.0.pre15

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