serializable_attributes 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9d745dbb204ad2b1dd0dd8d8c6f655170e0d312b
4
+ data.tar.gz: 696aba19f4b3aec3e1d29798b24bacaf2e8ae706
5
+ SHA512:
6
+ metadata.gz: d8b52f55c24bdc83e41fe2639715de1b7f90890295aa26b27b4d8c0ed5e700004fe2f51cc31bc9266ce41a4245ff0eeabb09c762c35e41edde5c9d76e1a0daaa
7
+ data.tar.gz: c65e6d27dd71fae0ff44169278628b63bc3b58e99f309b9b0645c0c43b60c34bab86e9761833fe4058ebd0b0eb1c7eb760db2e447225bafeef764c8c485380e5
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :rubygems
2
+
3
+ gemspec
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem "rake"
4
- gem "activerecord", "~> 3.1.3"
4
+ gem "activerecord", "~> 3.2.8"
5
5
 
6
6
  gemspec :path=>"../"
@@ -31,7 +31,7 @@
31
31
  # end
32
32
  #
33
33
  module SerializableAttributes
34
- VERSION = "1.1.1"
34
+ VERSION = "1.2.0"
35
35
 
36
36
  require File.expand_path('../serializable_attributes/types', __FILE__)
37
37
  require File.expand_path('../serializable_attributes/schema', __FILE__)
@@ -147,7 +147,9 @@ module SerializableAttributes
147
147
 
148
148
  @model.before_save do |r|
149
149
  schema = r.class.send("#{data_field}_schema")
150
- r.send("#{blob_field}=", schema.encode(r.send(data_field)))
150
+ if r.send(blob_field).nil? || !r.send(changed_ivar).empty?
151
+ r.send("#{blob_field}=", schema.encode(r.send(data_field)))
152
+ end
151
153
  end
152
154
  end
153
155
 
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
  ## If your rubyforge_project name is different, then edit it and comment out
13
13
  ## the sub! line in the Rakefile
14
14
  s.name = 'serializable_attributes'
15
- s.version = '1.1.1'
16
- s.date = '2012-06-18'
15
+ s.version = '1.2.0'
16
+ s.date = '2013-12-03'
17
17
  s.rubyforge_project = 'serializable_attributes'
18
18
 
19
19
  ## Make sure your summary is short. The description may be as long
@@ -39,6 +39,7 @@ Gem::Specification.new do |s|
39
39
  ## THE MANIFEST COMMENTS, they are used as delimiters by the task.
40
40
  # = MANIFEST =
41
41
  s.files = %w[
42
+ Gemfile
42
43
  LICENSE
43
44
  README.md
44
45
  Rakefile
@@ -111,6 +111,7 @@ formatters.each do |fmt|
111
111
  test "ignores data with extra keys" do
112
112
  @record.raw_data = self.class.format.encode(self.class.raw_hash.merge(:foo => :bar))
113
113
  assert_not_nil @record.title # no undefined foo= error
114
+ @record.title = "changed" # force a change / rewrite
114
115
  assert_equal false, @record.save # extra before_save cancels the operation
115
116
  assert_equal self.class.raw_hash.merge(:active => 1).stringify_keys.keys.sort, self.class.format.decode(@record.raw_data).keys.sort
116
117
  end
metadata CHANGED
@@ -1,58 +1,45 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: serializable_attributes
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
6
- segments:
7
- - 1
8
- - 1
9
- - 1
10
- version: 1.1.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Rick Olson
14
8
  - Michael Guterl
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2012-06-18 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2013-12-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: activerecord
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 2
32
- - 2
33
- - 0
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
34
20
  version: 2.2.0
35
21
  - - <
36
- - !ruby/object:Gem::Version
37
- hash: 11
38
- segments:
39
- - 3
40
- - 3
41
- - 0
22
+ - !ruby/object:Gem::Version
42
23
  version: 3.3.0
43
24
  type: :runtime
44
- version_requirements: *id001
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - '>='
29
+ - !ruby/object:Gem::Version
30
+ version: 2.2.0
31
+ - - <
32
+ - !ruby/object:Gem::Version
33
+ version: 3.3.0
45
34
  description: A bridge between using AR and a full blown schema-free db.
46
- email:
35
+ email:
47
36
  - technoweenie@gmail.com
48
37
  - michael@diminishing.org
49
38
  executables: []
50
-
51
39
  extensions: []
52
-
53
40
  extra_rdoc_files: []
54
-
55
- files:
41
+ files:
42
+ - Gemfile
56
43
  - LICENSE
57
44
  - README.md
58
45
  - Rakefile
@@ -75,40 +62,28 @@ files:
75
62
  - test/types_test.rb
76
63
  homepage: http://github.com/technoweenie/serialized_attributes
77
64
  licenses: []
78
-
65
+ metadata: {}
79
66
  post_install_message:
80
67
  rdoc_options: []
81
-
82
- require_paths:
68
+ require_paths:
83
69
  - lib
84
- required_ruby_version: !ruby/object:Gem::Requirement
85
- none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- hash: 3
90
- segments:
91
- - 0
92
- version: "0"
93
- required_rubygems_version: !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 17
99
- segments:
100
- - 1
101
- - 3
102
- - 5
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - '>='
78
+ - !ruby/object:Gem::Version
103
79
  version: 1.3.5
104
80
  requirements: []
105
-
106
81
  rubyforge_project: serializable_attributes
107
- rubygems_version: 1.8.24
82
+ rubygems_version: 2.0.3
108
83
  signing_key:
109
84
  specification_version: 2
110
85
  summary: Store a serialized hash of attributes in a single ActiveRecord column.
111
- test_files:
86
+ test_files:
112
87
  - test/serialized_attributes_test.rb
113
88
  - test/test_helper.rb
114
89
  - test/types_test.rb