has_metadata_column 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/has_metadata_column.gemspec +2 -2
- data/lib/has_metadata_column.rb +19 -8
- metadata +2 -2
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Has Metadata Column -- Keep your tables narrow
|
|
4
4
|
| | |
|
5
5
|
|:------------|:--------------------------------|
|
6
6
|
| **Author** | Tim Morgan |
|
7
|
-
| **Version** | 1.1.
|
7
|
+
| **Version** | 1.1.1 (Jul 25, 2013) |
|
8
8
|
| **License** | Released under the MIT License. |
|
9
9
|
|
10
10
|
About
|
data/has_metadata_column.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "has_metadata_column"
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tim Morgan"]
|
12
|
-
s.date = "2013-07-
|
12
|
+
s.date = "2013-07-25"
|
13
13
|
s.description = "Reduce your table width and migration overhead by moving non-indexed columns to a separate metadata column."
|
14
14
|
s.email = "git@timothymorgan.info"
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/has_metadata_column.rb
CHANGED
@@ -103,8 +103,6 @@ module HasMetadataColumn
|
|
103
103
|
class_attribute :metadata_column
|
104
104
|
self.metadata_column = column || :metadata
|
105
105
|
|
106
|
-
after_save :_reset_metadata
|
107
|
-
|
108
106
|
alias_method_chain :changed_attributes, :metadata_column
|
109
107
|
alias_method_chain :attribute_will_change!, :metadata_column
|
110
108
|
alias_method_chain :attribute_method?, :metadata
|
@@ -112,7 +110,6 @@ module HasMetadataColumn
|
|
112
110
|
alias_method_chain :attribute_before_type_cast, :metadata
|
113
111
|
alias_method_chain :attribute=, :metadata
|
114
112
|
alias_method_chain :query_attribute, :metadata
|
115
|
-
alias_method_chain :reload, :metadata
|
116
113
|
else
|
117
114
|
raise "Cannot redefine existing metadata column #{self.metadata_column}" if column && column != self.metadata_column
|
118
115
|
if metadata_column_fields.slice(*fields.keys) != fields
|
@@ -221,11 +218,25 @@ module HasMetadataColumn
|
|
221
218
|
end
|
222
219
|
|
223
220
|
# @private
|
224
|
-
def
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
221
|
+
def save(*)
|
222
|
+
response = super
|
223
|
+
_reset_metadata if response
|
224
|
+
response
|
225
|
+
end
|
226
|
+
|
227
|
+
# @private
|
228
|
+
def save!(*)
|
229
|
+
super.tap do
|
230
|
+
_reset_metadata
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
# @private
|
235
|
+
def reload(*)
|
236
|
+
super.tap do
|
237
|
+
@_metadata_hash = nil
|
238
|
+
_reset_metadata
|
239
|
+
end
|
229
240
|
end
|
230
241
|
|
231
242
|
private
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_metadata_column
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
12
|
+
date: 2013-07-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|