cerealize 0.8.0 → 0.8.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.
Files changed (44) hide show
  1. data/CHANGES +21 -2
  2. data/{README → README.rdoc} +19 -17
  3. data/Rakefile +4 -2
  4. data/TODO +13 -3
  5. data/bench/simple.png +0 -0
  6. data/bench/simple.rb +99 -0
  7. data/cerealize.gemspec +53 -0
  8. data/lib/cerealize.rb +94 -54
  9. data/lib/cerealize/version.rb +1 -1
  10. data/slide/2010-04-24-cerealize.key/Contents/PkgInfo +1 -0
  11. data/slide/2010-04-24-cerealize.key/QuickLook/Thumbnail.jpg +0 -0
  12. data/slide/2010-04-24-cerealize.key/background.png +0 -0
  13. data/slide/2010-04-24-cerealize.key/cardinal-blue-black_200.png +0 -0
  14. data/slide/2010-04-24-cerealize.key/cereal-box.png +0 -0
  15. data/slide/2010-04-24-cerealize.key/color-profile +0 -0
  16. data/slide/2010-04-24-cerealize.key/index.apxl.gz +0 -0
  17. data/slide/2010-04-24-cerealize.key/simple.png +0 -0
  18. data/slide/2010-04-24-cerealize.key/thumbs/st0-11.tiff +0 -0
  19. data/slide/2010-04-24-cerealize.key/thumbs/st0-16.tiff +0 -0
  20. data/slide/2010-04-24-cerealize.key/thumbs/st0-19.tiff +0 -0
  21. data/slide/2010-04-24-cerealize.key/thumbs/st0-2.tiff +0 -0
  22. data/slide/2010-04-24-cerealize.key/thumbs/st0-22.tiff +0 -0
  23. data/slide/2010-04-24-cerealize.key/thumbs/st0-27.tiff +0 -0
  24. data/slide/2010-04-24-cerealize.key/thumbs/st0-29.tiff +0 -0
  25. data/slide/2010-04-24-cerealize.key/thumbs/st0-30.tiff +0 -0
  26. data/slide/2010-04-24-cerealize.key/thumbs/st0-32.tiff +0 -0
  27. data/slide/2010-04-24-cerealize.key/thumbs/st0-34.tiff +0 -0
  28. data/slide/2010-04-24-cerealize.key/thumbs/st0-38.tiff +0 -0
  29. data/slide/2010-04-24-cerealize.key/thumbs/st0-40.tiff +0 -0
  30. data/slide/2010-04-24-cerealize.key/thumbs/st0-46.tiff +0 -0
  31. data/slide/2010-04-24-cerealize.key/thumbs/st0-50.tiff +0 -0
  32. data/slide/2010-04-24-cerealize.key/thumbs/st0-51.tiff +0 -0
  33. data/slide/2010-04-24-cerealize.key/thumbs/st0-52.tiff +0 -0
  34. data/slide/2010-04-24-cerealize.key/thumbs/st0-54.tiff +0 -0
  35. data/slide/2010-04-24-cerealize.key/thumbs/st0-7.tiff +0 -0
  36. data/slide/2010-04-24-cerealize.key/thumbs/st0.tiff +0 -0
  37. data/slide/2010-04-24-cerealize.pdf +0 -0
  38. data/slide/cereal-box.ai +1619 -8
  39. data/slide/cereal-box.jpg +0 -0
  40. data/slide/cereal-box.png +0 -0
  41. data/test/helper.rb +3 -1
  42. data/test/helper_active_record.rb +16 -1
  43. data/test/test_basic.rb +35 -0
  44. metadata +104 -12
Binary file
Binary file
data/test/helper.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  def set_encoding(encoding)
4
- Boat.send :cerealize, :captain, nil, :encoding => encoding
4
+ Boat.cerealize_option[:captain] = {:class => nil,
5
+ :encoding => encoding}
6
+ Boat.cerealize_update_codec_cache
5
7
  end
@@ -24,7 +24,7 @@ class Cat < ActiveRecord::Base
24
24
  include Cerealize
25
25
  cerealize :name, String, :encoding => :yaml
26
26
  cerealize :tail, Array, :encoding => :marshal, :force_encoding => true
27
- cerealize :food, Hash, :encoding => :marshal
27
+ cerealize :food, Hash, :encoding => :marshal, :force_encoding => false
28
28
  end
29
29
 
30
30
  ActiveRecord::Base.connection.create_table :cats, :force => true do |t|
@@ -32,3 +32,18 @@ ActiveRecord::Base.connection.create_table :cats, :force => true do |t|
32
32
  t.text :tail
33
33
  t.text :food
34
34
  end
35
+
36
+
37
+
38
+ class Dog < ActiveRecord::Base
39
+ include Cerealize
40
+
41
+ cerealize :mood, String
42
+ def mood
43
+ "mood: #{super}"
44
+ end
45
+ end
46
+
47
+ ActiveRecord::Base.connection.create_table :dogs, :force => true do |t|
48
+ t.text :mood
49
+ end
data/test/test_basic.rb CHANGED
@@ -17,6 +17,24 @@ class BasicTest < Test::Unit::TestCase
17
17
  def teardown
18
18
  end
19
19
 
20
+ def test_no_conflict
21
+ assert ! Cat.respond_to?(:captain)
22
+ assert !Boat.respond_to?(:food)
23
+ end
24
+
25
+ def test_cerealize_module
26
+ assert Cat < Cat::CerealizeMethods
27
+ assert Boat < Boat::CerealizeMethods
28
+
29
+ assert !( Cat < Boat::CerealizeMethods)
30
+ assert !(Boat < Cat::CerealizeMethods)
31
+ end
32
+
33
+ def test_super_calling
34
+ assert_equal 'mood: ', Dog.new.mood
35
+ assert_equal 'mood: cheerful', Dog.new(:mood => 'cheerful').mood
36
+ end
37
+
20
38
  def test_encoding_yaml
21
39
  set_encoding(:yaml)
22
40
  Boat.create :name => 'yamato', :captain => Person.new('kosaku')
@@ -31,4 +49,21 @@ class BasicTest < Test::Unit::TestCase
31
49
  assert s[0..1] = 'BA'
32
50
  end
33
51
 
52
+ def test_cerealize_option
53
+ assert_equal({:name => {:class => String,
54
+ :encoding => :yaml,
55
+ :codec => Cerealize::Codec::Yaml},
56
+
57
+ :tail => {:class => Array,
58
+ :encoding => :marshal,
59
+ :codec => Cerealize::Codec::Marshal,
60
+ :force_encoding => true},
61
+
62
+ :food => {:class => Hash,
63
+ :encoding => :marshal,
64
+ :codec => Cerealize::Codec::Marshal,
65
+ :force_encoding => false}},
66
+ Cat.cerealize_option)
67
+ end
68
+
34
69
  end
metadata CHANGED
@@ -1,29 +1,34 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cerealize
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 61
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 8
8
- - 0
9
- version: 0.8.0
9
+ - 1
10
+ version: 0.8.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Cardinal Blue
14
+ - "Lin Jen-Shin (aka godfat \xE7\x9C\x9F\xE5\xB8\xB8)"
15
+ - Jaime Cham
13
16
  autorequire:
14
17
  bindir: bin
15
18
  cert_chain: []
16
19
 
17
- date: 2010-04-19 00:00:00 +08:00
20
+ date: 2010-07-16 00:00:00 +08:00
18
21
  default_executable:
19
22
  dependencies:
20
23
  - !ruby/object:Gem::Dependency
21
24
  name: activerecord
22
25
  prerelease: false
23
26
  requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
24
28
  requirements:
25
29
  - - ">="
26
30
  - !ruby/object:Gem::Version
31
+ hash: 9
27
32
  segments:
28
33
  - 2
29
34
  - 3
@@ -32,20 +37,38 @@ dependencies:
32
37
  type: :runtime
33
38
  version_requirements: *id001
34
39
  - !ruby/object:Gem::Dependency
35
- name: bones
40
+ name: sqlite3-ruby
36
41
  prerelease: false
37
42
  requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
38
44
  requirements:
39
45
  - - ">="
40
46
  - !ruby/object:Gem::Version
47
+ hash: 25
41
48
  segments:
49
+ - 1
42
50
  - 3
43
- - 4
44
51
  - 1
45
- version: 3.4.1
52
+ version: 1.3.1
46
53
  type: :development
47
54
  version_requirements: *id002
48
- description: " Serialize out of the Cerealize Box\n - a drop-in replacement for ActiveRecord's serialize\n\n It can auto transcode old encoding (yaml if you're using AR's serialize),\n to new encoding (marshal, json, you name it) without any migration.\n\n Current supported encoding:\n 1. YAML\n 2. Marshal\n 3. JSON (planned)\n\n Current supported ORM:\n 1. ActiveRecord (tested with 2.3.5)\n 2. DataMapper (planned)"
55
+ - !ruby/object:Gem::Dependency
56
+ name: bones
57
+ prerelease: false
58
+ requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 25
64
+ segments:
65
+ - 3
66
+ - 4
67
+ - 7
68
+ version: 3.4.7
69
+ type: :development
70
+ version_requirements: *id003
71
+ description: " Serialize out of the Cerealize Box\n - a drop-in replacement for ActiveRecord's serialize\n\n It can auto transcode old encoding (yaml if you're using AR's serialize),\n to new encoding (marshal, json, you name it) without any migration.\n\n Current supported encoding:\n 1. YAML\n 2. Marshal\n 3. JSON (planned)\n\n Current supported ORM:\n 1. ActiveRecord (tested with 2.3.5)\n 2. DataMapper (planned)"
49
72
  email: dev (XD) cardinalblue.com
50
73
  executables: []
51
74
 
@@ -54,20 +77,85 @@ extensions: []
54
77
  extra_rdoc_files:
55
78
  - CHANGES
56
79
  - LICENSE
57
- - README
58
- - Rakefile
59
80
  - TODO
81
+ - bench/simple.png
82
+ - cerealize.gemspec
83
+ - slide/2010-04-24-cerealize.key/Contents/PkgInfo
84
+ - slide/2010-04-24-cerealize.key/QuickLook/Thumbnail.jpg
85
+ - slide/2010-04-24-cerealize.key/background.png
86
+ - slide/2010-04-24-cerealize.key/cardinal-blue-black_200.png
87
+ - slide/2010-04-24-cerealize.key/cereal-box.png
88
+ - slide/2010-04-24-cerealize.key/color-profile
89
+ - slide/2010-04-24-cerealize.key/index.apxl.gz
90
+ - slide/2010-04-24-cerealize.key/simple.png
91
+ - slide/2010-04-24-cerealize.key/thumbs/st0-11.tiff
92
+ - slide/2010-04-24-cerealize.key/thumbs/st0-16.tiff
93
+ - slide/2010-04-24-cerealize.key/thumbs/st0-19.tiff
94
+ - slide/2010-04-24-cerealize.key/thumbs/st0-2.tiff
95
+ - slide/2010-04-24-cerealize.key/thumbs/st0-22.tiff
96
+ - slide/2010-04-24-cerealize.key/thumbs/st0-27.tiff
97
+ - slide/2010-04-24-cerealize.key/thumbs/st0-29.tiff
98
+ - slide/2010-04-24-cerealize.key/thumbs/st0-30.tiff
99
+ - slide/2010-04-24-cerealize.key/thumbs/st0-32.tiff
100
+ - slide/2010-04-24-cerealize.key/thumbs/st0-34.tiff
101
+ - slide/2010-04-24-cerealize.key/thumbs/st0-38.tiff
102
+ - slide/2010-04-24-cerealize.key/thumbs/st0-40.tiff
103
+ - slide/2010-04-24-cerealize.key/thumbs/st0-46.tiff
104
+ - slide/2010-04-24-cerealize.key/thumbs/st0-50.tiff
105
+ - slide/2010-04-24-cerealize.key/thumbs/st0-51.tiff
106
+ - slide/2010-04-24-cerealize.key/thumbs/st0-52.tiff
107
+ - slide/2010-04-24-cerealize.key/thumbs/st0-54.tiff
108
+ - slide/2010-04-24-cerealize.key/thumbs/st0-7.tiff
109
+ - slide/2010-04-24-cerealize.key/thumbs/st0.tiff
110
+ - slide/2010-04-24-cerealize.pdf
111
+ - slide/cereal-box.ai
112
+ - slide/cereal-box.jpg
113
+ - slide/cereal-box.png
60
114
  files:
61
115
  - CHANGES
62
116
  - LICENSE
63
- - README
117
+ - README.rdoc
64
118
  - Rakefile
65
119
  - TODO
120
+ - bench/simple.png
121
+ - bench/simple.rb
122
+ - cerealize.gemspec
66
123
  - init.rb
67
124
  - lib/cerealize.rb
68
125
  - lib/cerealize/codec/marshal.rb
69
126
  - lib/cerealize/codec/yaml.rb
70
127
  - lib/cerealize/version.rb
128
+ - slide/2010-04-24-cerealize.key/Contents/PkgInfo
129
+ - slide/2010-04-24-cerealize.key/QuickLook/Thumbnail.jpg
130
+ - slide/2010-04-24-cerealize.key/background.png
131
+ - slide/2010-04-24-cerealize.key/cardinal-blue-black_200.png
132
+ - slide/2010-04-24-cerealize.key/cereal-box.png
133
+ - slide/2010-04-24-cerealize.key/color-profile
134
+ - slide/2010-04-24-cerealize.key/index.apxl.gz
135
+ - slide/2010-04-24-cerealize.key/simple.png
136
+ - slide/2010-04-24-cerealize.key/thumbs/st0-11.tiff
137
+ - slide/2010-04-24-cerealize.key/thumbs/st0-16.tiff
138
+ - slide/2010-04-24-cerealize.key/thumbs/st0-19.tiff
139
+ - slide/2010-04-24-cerealize.key/thumbs/st0-2.tiff
140
+ - slide/2010-04-24-cerealize.key/thumbs/st0-22.tiff
141
+ - slide/2010-04-24-cerealize.key/thumbs/st0-27.tiff
142
+ - slide/2010-04-24-cerealize.key/thumbs/st0-29.tiff
143
+ - slide/2010-04-24-cerealize.key/thumbs/st0-30.tiff
144
+ - slide/2010-04-24-cerealize.key/thumbs/st0-32.tiff
145
+ - slide/2010-04-24-cerealize.key/thumbs/st0-34.tiff
146
+ - slide/2010-04-24-cerealize.key/thumbs/st0-38.tiff
147
+ - slide/2010-04-24-cerealize.key/thumbs/st0-40.tiff
148
+ - slide/2010-04-24-cerealize.key/thumbs/st0-46.tiff
149
+ - slide/2010-04-24-cerealize.key/thumbs/st0-50.tiff
150
+ - slide/2010-04-24-cerealize.key/thumbs/st0-51.tiff
151
+ - slide/2010-04-24-cerealize.key/thumbs/st0-52.tiff
152
+ - slide/2010-04-24-cerealize.key/thumbs/st0-54.tiff
153
+ - slide/2010-04-24-cerealize.key/thumbs/st0-7.tiff
154
+ - slide/2010-04-24-cerealize.key/thumbs/st0.tiff
155
+ - slide/2010-04-24-cerealize.pdf
156
+ - slide/cereal-box.ai
157
+ - slide/cereal-box.jpg
158
+ - slide/cereal-box.png
71
159
  - test/helper.rb
72
160
  - test/helper_active_record.rb
73
161
  - test/stub.rb
@@ -81,27 +169,31 @@ licenses: []
81
169
  post_install_message:
82
170
  rdoc_options:
83
171
  - --main
84
- - README
172
+ - README.rdoc
85
173
  require_paths:
86
174
  - lib
87
175
  required_ruby_version: !ruby/object:Gem::Requirement
176
+ none: false
88
177
  requirements:
89
178
  - - ">="
90
179
  - !ruby/object:Gem::Version
180
+ hash: 3
91
181
  segments:
92
182
  - 0
93
183
  version: "0"
94
184
  required_rubygems_version: !ruby/object:Gem::Requirement
185
+ none: false
95
186
  requirements:
96
187
  - - ">="
97
188
  - !ruby/object:Gem::Version
189
+ hash: 3
98
190
  segments:
99
191
  - 0
100
192
  version: "0"
101
193
  requirements: []
102
194
 
103
195
  rubyforge_project: cerealize
104
- rubygems_version: 1.3.6
196
+ rubygems_version: 1.3.7
105
197
  signing_key:
106
198
  specification_version: 3
107
199
  summary: Serialize out of the Cerealize Box - a drop-in replacement for ActiveRecord's serialize It can auto transcode old encoding (yaml if you're using AR's serialize), to new encoding (marshal, json, you name it) without any migration