has_metadata_column 1.1.0 → 1.1.1

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.
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