schema_comments 0.3.1 → 0.3.2

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: cb906aa319149d9162686075b61ccaa340f1fd38
4
- data.tar.gz: 91ba3034e9efc564abfe4e7b556639fc606a5c6a
3
+ metadata.gz: 6cf787ee52801a9d7e04e182ac66a11d5bd8c2f7
4
+ data.tar.gz: 888fa0d6e255163ff7173103e6a2091b047baf2e
5
5
  SHA512:
6
- metadata.gz: 8b83e84536e4770de6e2231c9c6b712ce299ed3bb7610e847d0ba004050455d5d3a9e35d6d88ad809e67e8c8075757a5ad276370ab37363869c2f572a6a8b8ca
7
- data.tar.gz: 5ac5502337703798c29e059d1bfaa7efbffdde85a2148cd88143e9ea40f579849638910107190be71f2e975952e0243f8b800c3dab2edf33f4e6e6296a8e0d01
6
+ metadata.gz: aeb01ef93ce21aa25ffa8e7050a54df0b24603dfdf3167c34e1eda9992031fda408f4f5f5ced2a2c248f37e1909791a4dfbb7784b9d07422f95d59f14c19b0dd
7
+ data.tar.gz: b58f9028895a5bbf729fc7521b5884ba0be8fad8fe90954d040a354b7dc823fde426fc25082eb96637dfc7ae409bdc62a75761d73a423d33a5963dc5dd9958e5
@@ -4,6 +4,13 @@ require 'schema_comments/schema_dumper'
4
4
  module SchemaComments
5
5
 
6
6
  class SchemaDumper::Mysql < SchemaComments::SchemaDumper
7
+ include ActiveRecord::ConnectionAdapters::ColumnDumper # for schema_default
8
+
9
+ if ActiveRecord.version < Gem::Version.new("4.2.0")
10
+ def schema_default(column)
11
+ default_string(column.default)
12
+ end
13
+ end
7
14
 
8
15
  class << self
9
16
  public :new
@@ -109,7 +116,8 @@ HEADER
109
116
  spec[:precision] = column.precision.inspect if column.precision
110
117
  spec[:scale] = column.scale.inspect if column.scale
111
118
  spec[:null] = 'false' unless column.null
112
- spec[:default] = default_string(column.default) if column.has_default?
119
+ default = schema_default(column) if column.has_default?
120
+ spec[:default] = default unless default.nil?
113
121
  if column.name == pk
114
122
  spec[:comment] = '"AUTO_INCREMENT PRIMARY KEY by rails"'
115
123
  else
@@ -1,6 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module SchemaComments
3
3
  class SchemaDumper < ActiveRecord::SchemaDumper
4
+ include ActiveRecord::ConnectionAdapters::ColumnDumper # for schema_default
5
+
6
+ if ActiveRecord.version < Gem::Version.new("4.2.0")
7
+ def schema_default(column)
8
+ default_string(column.default)
9
+ end
10
+ end
4
11
 
5
12
  autoload :Mysql, 'schema_comments/schema_dumper/mysql'
6
13
 
@@ -71,7 +78,8 @@ module SchemaComments
71
78
  spec[:precision] = column.precision.inspect if column.precision
72
79
  spec[:scale] = column.scale.inspect if column.scale
73
80
  spec[:null] = 'false' unless column.null
74
- spec[:default] = default_string(column.default) if column.has_default?
81
+ default = schema_default(column) if column.has_default?
82
+ spec[:default] = default unless default.nil?
75
83
  spec[:comment] = '"' << (column.comment || '').gsub(/\"/, '\"') << '"' # ここでinspectを使うと最後の文字だけ文字化け(UTF-8のコード)になっちゃう
76
84
  (spec.keys - [:name, :type]).each{ |k| spec[k].insert(0, "#{k.inspect} => ")}
77
85
  spec
@@ -1,3 +1,3 @@
1
1
  module SchemaComments
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_comments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - akm
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  version: '0'
141
141
  requirements: []
142
142
  rubyforge_project:
143
- rubygems_version: 2.4.5
143
+ rubygems_version: 2.4.6
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: schema_comments generates extra methods dynamically for attribute which has