cerealize 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,5 +1,10 @@
1
1
  = cerealize changes history
2
2
 
3
+ == cerealize 1.0.1 -- 2011-07-08
4
+
5
+ * Fixed a bug that even setting identical value to the newly found record,
6
+ the record would be marked as changed.
7
+
3
8
  == cerealize 1.0.0 -- 2011-06-29
4
9
 
5
10
  * Nothing really changed, but officially support ActiveRecord 2 and 3 now.
data/Gemfile CHANGED
@@ -1,6 +1,9 @@
1
1
 
2
2
  source 'http://rubygems.org'
3
3
 
4
- gem 'activerecord'
4
+ gem 'activerecord'#, '<3'
5
5
  gem 'sqlite3' , :platforms => [ :ruby]
6
6
  gem 'activerecord-jdbcsqlite3-adapter', :platforms => [:jruby]
7
+
8
+ gem 'rake'
9
+ gem 'bacon'
data/Rakefile CHANGED
@@ -3,7 +3,7 @@
3
3
  require "#{dir = File.dirname(__FILE__)}/task/gemgem"
4
4
  Gemgem.dir = dir
5
5
 
6
- ($LOAD_PATH << File.expand_path("#{Gemgem.dir}/lib" )).uniq!
6
+ ($LOAD_PATH << File.expand_path("#{Gemgem.dir}/lib")).uniq!
7
7
 
8
8
  desc 'Generate gemspec'
9
9
  task 'gem:spec' do
@@ -15,7 +15,7 @@ task 'gem:spec' do
15
15
  # s.executables = [s.name]
16
16
 
17
17
  %w[activerecord].each{ |g| s.add_runtime_dependency(g) }
18
- %w[bacon] .each{ |g| s.add_development_dependency(g) }
18
+ %w[rake bacon] .each{ |g| s.add_development_dependency(g) }
19
19
  if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
20
20
  s.add_development_dependency('activerecord-jdbcsqlite3-adapter')
21
21
  else
@@ -2,14 +2,14 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{cerealize}
5
- s.version = "1.0.0"
5
+ s.version = "1.0.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = [
9
9
  %q{Cardinal Blue},
10
10
  %q{Lin Jen-Shin (godfat)},
11
11
  %q{Jaime Cham}]
12
- s.date = %q{2011-06-29}
12
+ s.date = %q{2011-07-08}
13
13
  s.description = %q{ Serialize out of the Cerealize Box - a drop-in replacement for ActiveRecord's serialize
14
14
 
15
15
  It can auto transcode old encoding (yaml if you're using AR's serialize),
@@ -42,7 +42,6 @@ Gem::Specification.new do |s|
42
42
  %q{lib/cerealize/codec/text.rb},
43
43
  %q{lib/cerealize/codec/yaml.rb},
44
44
  %q{lib/cerealize/version.rb},
45
- %q{rrr.rb},
46
45
  %q{task/.gitignore},
47
46
  %q{task/gemgem.rb},
48
47
  %q{test/common.rb},
@@ -70,15 +69,18 @@ Gem::Specification.new do |s|
70
69
 
71
70
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
72
71
  s.add_runtime_dependency(%q<activerecord>, [">= 0"])
72
+ s.add_development_dependency(%q<rake>, [">= 0"])
73
73
  s.add_development_dependency(%q<bacon>, [">= 0"])
74
74
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
75
75
  else
76
76
  s.add_dependency(%q<activerecord>, [">= 0"])
77
+ s.add_dependency(%q<rake>, [">= 0"])
77
78
  s.add_dependency(%q<bacon>, [">= 0"])
78
79
  s.add_dependency(%q<sqlite3>, [">= 0"])
79
80
  end
80
81
  else
81
82
  s.add_dependency(%q<activerecord>, [">= 0"])
83
+ s.add_dependency(%q<rake>, [">= 0"])
82
84
  s.add_dependency(%q<bacon>, [">= 0"])
83
85
  s.add_dependency(%q<sqlite3>, [">= 0"])
84
86
  end
@@ -105,7 +105,13 @@ module Cerealize
105
105
 
106
106
  mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1
107
107
  def #{field_cache}
108
- @#{property} ||= nil
108
+ if defined?(@#{property})
109
+ @#{property}
110
+ else
111
+ # define @#{property} to avoid mutual recursion
112
+ @#{property} = nil
113
+ @#{property} = #{property}
114
+ end
109
115
  end
110
116
 
111
117
  def #{field_cache}=(new_value)
@@ -123,7 +129,7 @@ module Cerealize
123
129
  mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1
124
130
  def #{property}
125
131
  # Return cached
126
- return #{field_cache} if #{field_cache}
132
+ return #{field_cache} if defined?(@#{property}) && #{field_cache}
127
133
 
128
134
  # No assignment yet, save property if not already saved
129
135
  self.#{field_orig}= self[:#{property}] if !#{field_orig}
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Cerealize
3
- VERSION = '1.0.0'
3
+ VERSION = '1.0.1'
4
4
  end
@@ -1,5 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require 'bundler/setup'
4
+
3
5
  require 'cerealize'
4
6
 
5
7
  require 'bacon'
@@ -51,6 +51,10 @@ describe Cerealize do
51
51
  when Hash; captain.merge(:key2 => [1,2])
52
52
  end
53
53
  b.changed?.should.equal true
54
+
55
+ bb = Boat.find(b.id)
56
+ bb.captain = captain
57
+ bb.changed?.should.equal false
54
58
  end
55
59
  end
56
60
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cerealize
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-06-29 00:00:00.000000000Z
14
+ date: 2011-07-08 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activerecord
18
- requirement: &2152593320 !ruby/object:Gem::Requirement
18
+ requirement: &2153062780 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,21 @@ dependencies:
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2152593320
26
+ version_requirements: *2153062780
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: &2153062180 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *2153062180
27
38
  - !ruby/object:Gem::Dependency
28
39
  name: bacon
29
- requirement: &2152592600 !ruby/object:Gem::Requirement
40
+ requirement: &2153061620 !ruby/object:Gem::Requirement
30
41
  none: false
31
42
  requirements:
32
43
  - - ! '>='
@@ -34,10 +45,10 @@ dependencies:
34
45
  version: '0'
35
46
  type: :development
36
47
  prerelease: false
37
- version_requirements: *2152592600
48
+ version_requirements: *2153061620
38
49
  - !ruby/object:Gem::Dependency
39
50
  name: sqlite3
40
- requirement: &2152591980 !ruby/object:Gem::Requirement
51
+ requirement: &2153061140 !ruby/object:Gem::Requirement
41
52
  none: false
42
53
  requirements:
43
54
  - - ! '>='
@@ -45,7 +56,7 @@ dependencies:
45
56
  version: '0'
46
57
  type: :development
47
58
  prerelease: false
48
- version_requirements: *2152591980
59
+ version_requirements: *2153061140
49
60
  description: ! " Serialize out of the Cerealize Box - a drop-in replacement for ActiveRecord's
50
61
  serialize\n\n It can auto transcode old encoding (yaml if you're using AR's serialize),\n
51
62
  to new encoding (marshal, json, you name it) without any migration."
@@ -80,7 +91,6 @@ files:
80
91
  - lib/cerealize/codec/text.rb
81
92
  - lib/cerealize/codec/yaml.rb
82
93
  - lib/cerealize/version.rb
83
- - rrr.rb
84
94
  - task/.gitignore
85
95
  - task/gemgem.rb
86
96
  - test/common.rb
data/rrr.rb DELETED
@@ -1,13 +0,0 @@
1
-
2
- module M
3
- def m
4
- 'm'
5
- end
6
- end
7
-
8
- class C
9
- extend M
10
- end
11
-
12
- p C.m
13
- p C.dup.m