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 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.0 (Jul 9, 2013) |
7
+ | **Version** | 1.1.1 (Jul 25, 2013) |
8
8
  | **License** | Released under the MIT License. |
9
9
 
10
10
  About
@@ -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.0"
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-09"
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 = [
@@ -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 reload_with_metadata
225
- res = reload_without_metadata
226
- @_metadata_hash = nil
227
- @_changed_metadata = nil
228
- res
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.0
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-09 00:00:00.000000000 Z
12
+ date: 2013-07-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails