schema_plus 1.8.2 → 1.8.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a5f207e0ebe6cbe96157c4762ac33335023a439
|
4
|
+
data.tar.gz: 024b7be47e963277cc5a673cc5639bede4348d58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e40fb778ee431cac5b5393f417036f62be5b256ad63dd98ea67cab6c7414e9a6abf7ac4a3b591a72f484c4b547cc1e8d727b27b7b8e993873e7b28c941d7e25
|
7
|
+
data.tar.gz: 18eee79285313cef82db8533032862e9662c9c8ac74c454afc2b80fd137a6081aa97594636becb63d56f260c4a213d98b49501da243c31c6ef1df196ce40330c
|
data/CHANGELOG.md
CHANGED
@@ -54,6 +54,7 @@ module SchemaPlus::ActiveRecord
|
|
54
54
|
|
55
55
|
if column_options.has_key?(:foreign_key)
|
56
56
|
args = column_options[:foreign_key]
|
57
|
+
args = args.dup if args.is_a?(Hash)
|
57
58
|
return :none unless args
|
58
59
|
args = {} if args == true
|
59
60
|
return :none if args.has_key?(:references) and not args[:references]
|
@@ -98,6 +99,7 @@ module SchemaPlus::ActiveRecord
|
|
98
99
|
|
99
100
|
|
100
101
|
def column_index(table_name, column_name, options) #:nodoc:
|
102
|
+
options = options.dup
|
101
103
|
column_name = [column_name] + Array.wrap(options.delete(:with)).compact
|
102
104
|
add_index(table_name, column_name, options)
|
103
105
|
end
|
@@ -54,6 +54,7 @@ module SchemaPlus::ActiveRecord::ConnectionAdapters
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def add_index_options_with_schema_plus(table_name, column_name, options = {})
|
57
|
+
options = options.dup
|
57
58
|
with_columns = options.delete(:with) { |_| [] }
|
58
59
|
add_index_options_without_schema_plus(table_name, Array(column_name).concat(Array(with_columns).map(&:to_s)), options)
|
59
60
|
end
|
data/lib/schema_plus/version.rb
CHANGED
data/spec/migration_spec.rb
CHANGED
@@ -70,6 +70,24 @@ describe ActiveRecord::Migration do
|
|
70
70
|
expect(@model).to reference(:users, :id).on(:author_id)
|
71
71
|
end
|
72
72
|
|
73
|
+
it "should create foreign key without modifying input hash" do
|
74
|
+
hash = { :references => :users }
|
75
|
+
hash_original = hash.dup
|
76
|
+
recreate_table(@model) do |t|
|
77
|
+
t.integer :author_id, :foreign_key => hash
|
78
|
+
end
|
79
|
+
expect(hash).to eq(hash_original)
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should create foreign key without modifying input hash" do
|
83
|
+
hash = { :references => :users }
|
84
|
+
hash_original = hash.dup
|
85
|
+
recreate_table(@model) do |t|
|
86
|
+
t.references :author, :foreign_key => hash
|
87
|
+
end
|
88
|
+
expect(hash).to eq(hash_original)
|
89
|
+
end
|
90
|
+
|
73
91
|
it "should create foreign key with different reference using shortcut" do
|
74
92
|
recreate_table(@model) do |t|
|
75
93
|
t.integer :author_id, :references => :users
|
@@ -250,6 +268,16 @@ describe ActiveRecord::Migration do
|
|
250
268
|
expect(@model).to have_index.on([:state, :city])
|
251
269
|
end
|
252
270
|
|
271
|
+
it "should create the index without modifying the input hash" do
|
272
|
+
hash = { :with => :foo, :length => { :foo => 8, :bar => 12 }}
|
273
|
+
hash_original = hash.dup
|
274
|
+
recreate_table(@model) do |t|
|
275
|
+
t.string :foo
|
276
|
+
t.string :bar, :index => hash
|
277
|
+
end
|
278
|
+
expect(hash).to eq(hash_original)
|
279
|
+
end
|
280
|
+
|
253
281
|
it "should auto-index foreign keys only" do
|
254
282
|
recreate_table(@model) do |t|
|
255
283
|
t.integer :user_id
|
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: 1.8.
|
4
|
+
version: 1.8.3
|
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-01-
|
12
|
+
date: 2015-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|