schema_plus 1.8.2 → 1.8.3
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:
|
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
|