schema_plus 1.3.2 → 1.3.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: 72d678562e79aad7720350482d28f4a9f5c49130
4
- data.tar.gz: 5d64c187a751e8a22c1b00af12c8e93e2e426318
3
+ metadata.gz: fb0e9e9c0ae722f3745bf153ca27e10feba32557
4
+ data.tar.gz: 475c3532ec3953c3b34c68357dec44b69b5554e5
5
5
  SHA512:
6
- metadata.gz: c30849dd3016aa030dbd39aaceaa6358931908492159aca58703f3a2d7d57821ce17365f137dae123fb44a574beb86f08f06d40a819ae538764186fedede689c
7
- data.tar.gz: 1c654a69c17dd13a6d898b5b308c865d4487f1df33e95fc1672e011a0ad9e756cf6df8252eec5dbd7034d2b1d72f3e75a0115b6b0796d89f22cebd99e60bdb38
6
+ metadata.gz: b0e183c3f7af709ebe5b8fb73f9278a3c5a9cf1a9d31ae39934d12ef727df309772edc43dfbf5e06b4202a5216f19307d4438da67c883e6a974ec2c581b0692d
7
+ data.tar.gz: 5fe1d3eaacef6220fa894d3b491fddeac460856567e32972a63d95373e590e9a0ddc58111bd6ee198dd3baa1e520ee834cedc81dc798f1e5f3bd19735c904dfa
data/README.md CHANGED
@@ -300,6 +300,11 @@ of foreign key constraints, you can re-enable it:
300
300
 
301
301
  * *nothing currently waiting to be released*
302
302
 
303
+ ### 1.3.3
304
+
305
+ * Bug fix, dump unique index with expression (Issue #142)
306
+
307
+
303
308
  ### 1.3.2
304
309
 
305
310
  * Bug fix, remove_index with if_exists but no name
@@ -409,3 +414,7 @@ of foreign key constraints, you can re-enable it:
409
414
  contributors](https://github.com/lomba/schema_plus/graphs/contributors)
410
415
  since then
411
416
 
417
+
418
+
419
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lomba/schema_plus/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
420
+
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec :path => File.expand_path('../../..', __FILE__)
4
- gem "rails", ">= 4.0.0", :github => "rails/rails"
4
+ gem "rails", "~> 4.0.0"
@@ -215,7 +215,10 @@ module SchemaPlus
215
215
  # Prepass to replace each ActiveRecord::DB_DEFAULT with a literal
216
216
  # DEFAULT in the sql string. (The underlying pg gem provides no
217
217
  # way to bind a value that will replace $n with DEFAULT)
218
- def exec_cache_with_schema_plus(sql, binds)
218
+ def exec_cache_with_schema_plus(sql, *args)
219
+ name_passed = (2 == args.size)
220
+ binds, name = args.reverse
221
+
219
222
  if binds.any?{ |col, val| val.equal? ::ActiveRecord::DB_DEFAULT}
220
223
  j = 0
221
224
  binds.each_with_index do |(col, val), i|
@@ -228,7 +231,9 @@ module SchemaPlus
228
231
  end
229
232
  binds = binds.reject{|col, val| val.equal? ::ActiveRecord::DB_DEFAULT}
230
233
  end
231
- exec_cache_without_schema_plus(sql, binds)
234
+
235
+ args = name_passed ? [name, binds] : [binds]
236
+ exec_cache_without_schema_plus(sql, *args)
232
237
  end
233
238
 
234
239
  def foreign_keys(table_name, name = nil) #:nodoc:
@@ -118,18 +118,17 @@ module SchemaPlus
118
118
  def dump_indexes(table) #:nodoc:
119
119
  @connection.indexes(table).collect{ |index|
120
120
  dump = " t.index"
121
+ dump << " #{index.columns.inspect}," unless index.columns.blank?
122
+ dump << " :name => #{index.name.inspect}"
123
+ dump << ", :unique => true" if index.unique
124
+ dump << ", :kind => \"#{index.kind}\"" unless index.kind.blank?
121
125
  unless index.columns.blank?
122
- dump << " #{index.columns.inspect}, :name => #{index.name.inspect}"
123
- dump << ", :unique => true" if index.unique
124
- dump << ", :kind => \"#{index.kind}\"" unless index.kind.blank?
125
126
  dump << ", :case_sensitive => false" unless index.case_sensitive?
126
127
  dump << ", :conditions => #{index.conditions.inspect}" unless index.conditions.blank?
127
128
  index_lengths = index.lengths.compact if index.lengths.is_a?(Array)
128
129
  dump << ", :length => #{Hash[*index.columns.zip(index.lengths).flatten].inspect}" if index_lengths.present?
129
130
  dump << ", :order => {" + index.orders.map{|column, val| "#{column.inspect} => #{val.inspect}"}.join(", ") + "}" unless index.orders.blank?
130
131
  else
131
- dump << " :name => #{index.name.inspect}"
132
- dump << ", :kind => \"#{index.kind}\"" unless index.kind.blank?
133
132
  dump << ", :expression => #{index.expression.inspect}"
134
133
  end
135
134
  dump << "\n"
@@ -1,3 +1,3 @@
1
1
  module SchemaPlus
2
- VERSION = "1.3.2"
2
+ VERSION = "1.3.3"
3
3
  end
data/schema_plus.gemspec CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
25
25
 
26
26
  s.add_development_dependency("rake")
27
27
  s.add_development_dependency("rspec")
28
+ s.add_development_dependency("rdoc")
28
29
  s.add_development_dependency("simplecov")
29
30
  s.add_development_dependency("simplecov-gem-adapter")
30
31
  end
@@ -221,6 +221,13 @@ describe "Schema dump" do
221
221
  end
222
222
  end
223
223
 
224
+ it "should dump unique: true with expression (Issue #142)" do
225
+ with_index Post, :name => "posts_user_body_index", :unique => true, :expression => "BTRIM(LOWER(body))" do
226
+ dump_posts.should match(%r{#{to_regexp(%q{t.index :name => "posts_user_body_index", :unique => true, :expression => "btrim(lower(body))"})}$})
227
+ end
228
+ end
229
+
230
+
224
231
  it "should not define :case_sensitive => false with non-trivial expression" do
225
232
  with_index Post, :name => "posts_user_body_index", :expression => "BTRIM(LOWER(body))" do
226
233
  dump_posts.should match(%r{#{to_regexp(%q{t.index :name => "posts_user_body_index", :expression => "btrim(lower(body))"})}$})
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.3.2
4
+ version: 1.3.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: 2013-12-14 00:00:00.000000000 Z
12
+ date: 2014-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -67,6 +67,20 @@ dependencies:
67
67
  - - '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rdoc
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: simplecov
72
86
  requirement: !ruby/object:Gem::Requirement