schema_plus_core 2.2.0 → 2.2.1
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
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: dfc1ffe7f432c8e74c488bcf10f95dbe2f2050a7d2b8981a90b154689a635965
|
4
|
+
data.tar.gz: 01dc5cb4e3dccaacd7c9fe1eb800dab7646fc001e82ec12bcd1cac90b0d47db3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 675a1ccf6531d7bacc97e1354772c77690fa2ba956402f8054bdb47e60f8c32363a9c54287acf24019b66a74270ac3e39d06a8d8d803f57827d6a2f7eee68d6d
|
7
|
+
data.tar.gz: '09513084a2643ec5a9a1bb30a9f6aaa308f3e2ed6dc065067b9f2bcec956ef954a9db19ca20ec51cce17794f3a5e4b027bc58b2d44abfbd11c8ffbc1085662af'
|
data/README.md
CHANGED
@@ -444,6 +444,7 @@ SchemaPlus::Core provides a state object and of callbacks to various phases of t
|
|
444
444
|
|
445
445
|
## Release Notes
|
446
446
|
|
447
|
+
* 2.2.1 Fixed expression index handling in AR5.x.
|
447
448
|
* 2.2.0 Added AR5.2 support. Thanks to [@jeremyyap](https://github.com/jeremyyap)
|
448
449
|
* 2.1.1 Bug fix: Don't lose habtm options. Thanks to [@iagopiimenta ](https://github.com/iagopiimenta)
|
449
450
|
* 2.1.0 Added AR5.1 support. Thanks to [@iagopiimenta ](https://github.com/iagopiimenta)
|
@@ -35,6 +35,24 @@ module SchemaPlus
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
+
# replaced version to handle array of columns with expressions
|
39
|
+
def quoted_columns_for_index(column_names, **options)
|
40
|
+
output_columns = []
|
41
|
+
|
42
|
+
column_names.each do |column|
|
43
|
+
if column.is_a?(String) && column.include?('(')
|
44
|
+
output_columns << column
|
45
|
+
else
|
46
|
+
quoted = {column.to_sym => quote_column_name(column).dup}
|
47
|
+
output_columns.concat add_options_for_index_columns(quoted, options).values
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
output_columns
|
52
|
+
end
|
53
|
+
private :quoted_columns_for_index
|
54
|
+
|
55
|
+
|
38
56
|
module SchemaCreation
|
39
57
|
|
40
58
|
def add_column_options!(sql, options)
|
data/schema_plus_core.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |gem|
|
|
24
24
|
|
25
25
|
gem.add_development_dependency "bundler", "~> 1.7"
|
26
26
|
gem.add_development_dependency "rake", "~> 10.0"
|
27
|
-
gem.add_development_dependency "rspec", "~> 3.0
|
27
|
+
gem.add_development_dependency "rspec", "~> 3.0"
|
28
28
|
gem.add_development_dependency "rspec-given"
|
29
29
|
gem.add_development_dependency "schema_dev", "~> 3.11"
|
30
30
|
gem.add_development_dependency "simplecov"
|
data/spec/index_spec.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SchemaMonkey::Middleware::Migration::Index do
|
4
|
+
|
5
|
+
let(:migration) {::ActiveRecord::Migration}
|
6
|
+
let(:connection) {::ActiveRecord::Base.connection}
|
7
|
+
|
8
|
+
describe '#add_index' do
|
9
|
+
before(:each) do
|
10
|
+
migration.create_table :things, :force => true do |t|
|
11
|
+
t.string :test_column
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
context "when add an index with an expression", postgresql: :only do
|
16
|
+
it 'should create the index successfully' do
|
17
|
+
migration.add_index 'things', 'lower(test_column)'
|
18
|
+
expect(connection.indexes(:things).first.columns).to eq('lower((test_column)::text)')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_plus_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ronen barzel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.0
|
89
|
+
version: '3.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.0
|
96
|
+
version: '3.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec-given
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,6 +210,7 @@ files:
|
|
210
210
|
- schema_plus_core.gemspec
|
211
211
|
- spec/column_spec.rb
|
212
212
|
- spec/dumper_spec.rb
|
213
|
+
- spec/index_spec.rb
|
213
214
|
- spec/middleware_spec.rb
|
214
215
|
- spec/spec_helper.rb
|
215
216
|
- spec/sql_struct_spec.rb
|
@@ -235,13 +236,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
236
|
version: '0'
|
236
237
|
requirements: []
|
237
238
|
rubyforge_project:
|
238
|
-
rubygems_version: 2.
|
239
|
+
rubygems_version: 2.7.6
|
239
240
|
signing_key:
|
240
241
|
specification_version: 4
|
241
242
|
summary: Provides an internal extension API to ActiveRecord
|
242
243
|
test_files:
|
243
244
|
- spec/column_spec.rb
|
244
245
|
- spec/dumper_spec.rb
|
246
|
+
- spec/index_spec.rb
|
245
247
|
- spec/middleware_spec.rb
|
246
248
|
- spec/spec_helper.rb
|
247
249
|
- spec/sql_struct_spec.rb
|