convergence 0.1.8 → 0.1.9

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: 454a00b43c4a1430553a68eddaeb73103bad92a5
4
- data.tar.gz: 416cda690943feccf3d41226a9573455b7f4779d
3
+ metadata.gz: a839465d475a50eae409d5ca2b011c87bc8901c7
4
+ data.tar.gz: 49f17cd9ba7ed95ad89eee5482023fed50efd405
5
5
  SHA512:
6
- metadata.gz: c99e127b5dcbecc078f2f1f39ce91a5b720a13761872aecc61ef6c98be9672f79bfd7b6cdf63f9c6acf695a52706abf6faf93043a7881eee9a5b8ddaa362a4d2
7
- data.tar.gz: 6bc3eca7161196ebaa4d007f28526c170a56cd3ca205fc661a23fbdb566027568ffe49fb9575d2b01b7bf3e2c9a492eab1d08e26a09816df8a57e252e97a8104
6
+ metadata.gz: 442ac80d6c3ad2e9fb556d7ba7e275e3cc9cdbd74a55b8925ec436bef64abbb02ae689ac18eed61aebb0a551c70608a1d14a27841fa5be3e17336cce5f59a324
7
+ data.tar.gz: 82136a25f4c36988b5bc1e7accbcb16571888b056cf9387ab8c1d3943ee7bdd1c31c4859eb22a85fab8f91d615c3584c46ad5173f3f42e50c068176b467c9738
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- convergence (0.1.8)
4
+ convergence (0.1.9)
5
5
  diff-lcs
6
6
  diffy
7
7
  mysql2
@@ -1,6 +1,7 @@
1
1
  require 'diff/lcs'
2
2
 
3
3
  class Convergence::Diff
4
+ CASE_SENSITIVE_TABLE_OPTIONS = %i(comment)
4
5
  CASE_SENSITIVE_COLUMNS = %i(default comment)
5
6
 
6
7
  def diff(from_database, to_database)
@@ -152,7 +153,8 @@ class Convergence::Diff
152
153
  change_options = (from.table_options.map { |k, _v| { k => nil } }.reduce { |a, e| a.merge(e) } || {})
153
154
  .merge(to.table_options)
154
155
  .reject do |k, v|
155
- !from.table_options[k].nil? && from.table_options[k].to_s.downcase == v.to_s.downcase
156
+ next false if from.table_options[k].nil?
157
+ case_sensitive_table_option?(k) ? from.table_options[k].to_s == v.to_s : from.table_options[k].to_s.downcase == v.to_s.downcase
156
158
  end
157
159
  if remove_auto_increment_option?(from.table_options[:auto_increment], to.table_options[:auto_increment])
158
160
  change_options.delete(:auto_increment)
@@ -164,6 +166,10 @@ class Convergence::Diff
164
166
  from_table.columns.each_key.all? { |name| diff[:remove_column].each_key.include?(name) }
165
167
  end
166
168
 
169
+ def case_sensitive_table_option?(option)
170
+ CASE_SENSITIVE_TABLE_OPTIONS.include?(option)
171
+ end
172
+
167
173
  def case_sensitive_column?(column)
168
174
  CASE_SENSITIVE_COLUMNS.include?(column)
169
175
  end
@@ -1,3 +1,3 @@
1
1
  module Convergence
2
- VERSION = '0.1.8'
2
+ VERSION = '0.1.9'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: convergence
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shinsuke Nishio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-15 00:00:00.000000000 Z
11
+ date: 2016-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2