cerealize 0.8.1 → 0.8.2

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 (46) hide show
  1. data/CHANGES +20 -0
  2. data/README +77 -0
  3. data/README.rdoc +13 -1
  4. data/Rakefile +2 -2
  5. data/cerealize.gemspec +5 -5
  6. data/lib/cerealize.rb +7 -3
  7. data/lib/cerealize/attr_hash.rb +32 -0
  8. data/lib/cerealize/version.rb +1 -1
  9. data/test/{helper.rb → common.rb} +8 -0
  10. data/test/{helper_active_record.rb → real.rb} +16 -2
  11. data/test/test_all_codec.rb +6 -7
  12. data/test/test_attr_hash.rb +33 -0
  13. data/test/test_basic.rb +6 -7
  14. data/test/test_transcode.rb +6 -7
  15. metadata +12 -69
  16. data/slide/2010-04-24-cerealize.key/Contents/PkgInfo +0 -1
  17. data/slide/2010-04-24-cerealize.key/QuickLook/Thumbnail.jpg +0 -0
  18. data/slide/2010-04-24-cerealize.key/background.png +0 -0
  19. data/slide/2010-04-24-cerealize.key/cardinal-blue-black_200.png +0 -0
  20. data/slide/2010-04-24-cerealize.key/cereal-box.png +0 -0
  21. data/slide/2010-04-24-cerealize.key/color-profile +0 -0
  22. data/slide/2010-04-24-cerealize.key/index.apxl.gz +0 -0
  23. data/slide/2010-04-24-cerealize.key/simple.png +0 -0
  24. data/slide/2010-04-24-cerealize.key/thumbs/st0-11.tiff +0 -0
  25. data/slide/2010-04-24-cerealize.key/thumbs/st0-16.tiff +0 -0
  26. data/slide/2010-04-24-cerealize.key/thumbs/st0-19.tiff +0 -0
  27. data/slide/2010-04-24-cerealize.key/thumbs/st0-2.tiff +0 -0
  28. data/slide/2010-04-24-cerealize.key/thumbs/st0-22.tiff +0 -0
  29. data/slide/2010-04-24-cerealize.key/thumbs/st0-27.tiff +0 -0
  30. data/slide/2010-04-24-cerealize.key/thumbs/st0-29.tiff +0 -0
  31. data/slide/2010-04-24-cerealize.key/thumbs/st0-30.tiff +0 -0
  32. data/slide/2010-04-24-cerealize.key/thumbs/st0-32.tiff +0 -0
  33. data/slide/2010-04-24-cerealize.key/thumbs/st0-34.tiff +0 -0
  34. data/slide/2010-04-24-cerealize.key/thumbs/st0-38.tiff +0 -0
  35. data/slide/2010-04-24-cerealize.key/thumbs/st0-40.tiff +0 -0
  36. data/slide/2010-04-24-cerealize.key/thumbs/st0-46.tiff +0 -0
  37. data/slide/2010-04-24-cerealize.key/thumbs/st0-50.tiff +0 -0
  38. data/slide/2010-04-24-cerealize.key/thumbs/st0-51.tiff +0 -0
  39. data/slide/2010-04-24-cerealize.key/thumbs/st0-52.tiff +0 -0
  40. data/slide/2010-04-24-cerealize.key/thumbs/st0-54.tiff +0 -0
  41. data/slide/2010-04-24-cerealize.key/thumbs/st0-7.tiff +0 -0
  42. data/slide/2010-04-24-cerealize.key/thumbs/st0.tiff +0 -0
  43. data/slide/2010-04-24-cerealize.pdf +0 -0
  44. data/slide/cereal-box.ai +4 -1623
  45. data/slide/cereal-box.jpg +0 -0
  46. data/slide/cereal-box.png +0 -0
data/CHANGES CHANGED
@@ -1,5 +1,25 @@
1
1
  = cerealize changes history
2
2
 
3
+ == cerealize 0.8.2 -- 2010-08-04
4
+ * Added attr_hash feature, create virtual properties inside a hash.
5
+ An example:
6
+
7
+ require 'cerealize'
8
+
9
+ class User < ActiveRecord::Base
10
+ include Cerealize
11
+ cerealize :data
12
+ attr_hash :data, [:name, :mail]
13
+ end
14
+
15
+ user = User.new
16
+ user.name = 'ham'
17
+
18
+ # which is equivalent to:
19
+
20
+ user.data ||= {}
21
+ user.data[:name] = 'ham'
22
+
3
23
  == cerealize 0.8.1 -- 2010-07-16
4
24
  * module_eval is a lot faster than define_method with a block,
5
25
  I think it's all about closure.
data/README ADDED
@@ -0,0 +1,77 @@
1
+ = cerealize 0.8.2
2
+ by Cardinal Blue ( http://cardinalblue.com )
3
+
4
+ == LINKS:
5
+
6
+ * {github}[http://github.com/cardinalblue/cerealize]
7
+ * {rubygems}[http://rubygems.org/gems/cerealize]
8
+ * {rdoc}[http://rdoc.info/projects/cardinalblue/cerealize]
9
+
10
+ == DESCRIPTION:
11
+
12
+ Serialize out of the Cerealize Box
13
+ - a drop-in replacement for ActiveRecord's serialize
14
+
15
+ It can auto transcode old encoding (yaml if you're using AR's serialize),
16
+ to new encoding (marshal, json, you name it) without any migration.
17
+
18
+ Current supported encoding:
19
+ 1. YAML
20
+ 2. Marshal
21
+ 3. JSON (planned)
22
+
23
+ Current supported ORM:
24
+ 1. ActiveRecord (tested with 2.3.5)
25
+ 2. DataMapper (planned)
26
+
27
+ == SYNOPSIS:
28
+
29
+ require 'cerealize'
30
+ class User < ActiveRecord::Base
31
+ include Cerealize
32
+ # when force_encoding set to false (this is default), cerealize is
33
+ # smart enough to transcode old encoding (e.g. yaml) to new encoding
34
+ # (i.e. marshal)
35
+ cerealize :data, Hash, :encoding => :marshal, :force_encoding => false
36
+
37
+ # and this could create accessors for values store in the hash
38
+ attr_hash :data, [:name, :mail]
39
+
40
+ # which makes below two equivalent:
41
+
42
+ # user.name = 'ham'
43
+
44
+ # which is equivalent to:
45
+
46
+ # user.data ||= {}
47
+ # user.data[:name] = 'ham'
48
+ end
49
+
50
+ == REQUIREMENTS:
51
+
52
+ * tested with MRI 1.8.7 and 1.9.1
53
+ * one of your desired ORM
54
+
55
+ == INSTALL:
56
+
57
+ > gem install cerealize
58
+ # or if you want rails plugin and bleeding edge
59
+ > script/plugin install git://github.com/cardinalblue/cerealize.git
60
+
61
+ == LICENSE:
62
+
63
+ Apache License 2.0
64
+
65
+ Copyright (c) 2010, Cardinal Blue
66
+
67
+ Licensed under the Apache License, Version 2.0 (the "License");
68
+ you may not use this file except in compliance with the License.
69
+ You may obtain a copy of the License at
70
+
71
+ http://www.apache.org/licenses/LICENSE-2.0
72
+
73
+ Unless required by applicable law or agreed to in writing, software
74
+ distributed under the License is distributed on an "AS IS" BASIS,
75
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
76
+ See the License for the specific language governing permissions and
77
+ limitations under the License.
@@ -1,4 +1,4 @@
1
- = cerealize 0.8.1
1
+ = cerealize 0.8.2
2
2
  by Cardinal Blue ( http://cardinalblue.com )
3
3
 
4
4
  == LINKS:
@@ -33,6 +33,18 @@ by Cardinal Blue ( http://cardinalblue.com )
33
33
  # smart enough to transcode old encoding (e.g. yaml) to new encoding
34
34
  # (i.e. marshal)
35
35
  cerealize :data, Hash, :encoding => :marshal, :force_encoding => false
36
+
37
+ # and this could create accessors for values store in the hash
38
+ attr_hash :data, [:name, :mail]
39
+
40
+ # which makes below two equivalent:
41
+
42
+ # user.name = 'ham'
43
+
44
+ # which is equivalent to:
45
+
46
+ # user.data ||= {}
47
+ # user.data[:name] = 'ham'
36
48
  end
37
49
 
38
50
  == REQUIREMENTS:
data/Rakefile CHANGED
@@ -25,10 +25,10 @@ Bones{
25
25
  email 'dev (XD) cardinalblue.com'
26
26
 
27
27
  history_file 'CHANGES'
28
- readme_file 'README.rdoc'
28
+ readme_file 'README'
29
29
  ignore_file '.gitignore'
30
30
  rdoc.include ['\w+']
31
- rdoc.exclude ['test', 'doc', 'Rakefile']
31
+ rdoc.exclude ['test', 'doc', 'Rakefile', 'slide']
32
32
  }
33
33
 
34
34
  CLEAN.include Dir['**/*.rbc']
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Cardinal Blue", "Lin Jen-Shin (aka godfat 真常)", "Jaime Cham"]
9
- s.date = %q{2010-07-16}
9
+ s.date = %q{2010-08-04}
10
10
  s.description = %q{ Serialize out of the Cerealize Box
11
11
  - a drop-in replacement for ActiveRecord's serialize
12
12
 
@@ -22,15 +22,15 @@ Gem::Specification.new do |s|
22
22
  1. ActiveRecord (tested with 2.3.5)
23
23
  2. DataMapper (planned)}
24
24
  s.email = %q{dev (XD) cardinalblue.com}
25
- s.extra_rdoc_files = ["CHANGES", "LICENSE", "TODO", "bench/simple.png", "cerealize.gemspec", "slide/2010-04-24-cerealize.key/Contents/PkgInfo", "slide/2010-04-24-cerealize.key/QuickLook/Thumbnail.jpg", "slide/2010-04-24-cerealize.key/background.png", "slide/2010-04-24-cerealize.key/cardinal-blue-black_200.png", "slide/2010-04-24-cerealize.key/cereal-box.png", "slide/2010-04-24-cerealize.key/color-profile", "slide/2010-04-24-cerealize.key/index.apxl.gz", "slide/2010-04-24-cerealize.key/simple.png", "slide/2010-04-24-cerealize.key/thumbs/st0-11.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-16.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-19.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-2.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-22.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-27.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-29.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-30.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-32.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-34.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-38.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-40.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-46.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-50.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-51.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-52.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-54.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-7.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0.tiff", "slide/2010-04-24-cerealize.pdf", "slide/cereal-box.ai", "slide/cereal-box.jpg", "slide/cereal-box.png"]
26
- s.files = ["CHANGES", "LICENSE", "README.rdoc", "Rakefile", "TODO", "bench/simple.png", "bench/simple.rb", "cerealize.gemspec", "init.rb", "lib/cerealize.rb", "lib/cerealize/codec/marshal.rb", "lib/cerealize/codec/yaml.rb", "lib/cerealize/version.rb", "slide/2010-04-24-cerealize.key/Contents/PkgInfo", "slide/2010-04-24-cerealize.key/QuickLook/Thumbnail.jpg", "slide/2010-04-24-cerealize.key/background.png", "slide/2010-04-24-cerealize.key/cardinal-blue-black_200.png", "slide/2010-04-24-cerealize.key/cereal-box.png", "slide/2010-04-24-cerealize.key/color-profile", "slide/2010-04-24-cerealize.key/index.apxl.gz", "slide/2010-04-24-cerealize.key/simple.png", "slide/2010-04-24-cerealize.key/thumbs/st0-11.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-16.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-19.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-2.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-22.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-27.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-29.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-30.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-32.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-34.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-38.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-40.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-46.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-50.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-51.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-52.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-54.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0-7.tiff", "slide/2010-04-24-cerealize.key/thumbs/st0.tiff", "slide/2010-04-24-cerealize.pdf", "slide/cereal-box.ai", "slide/cereal-box.jpg", "slide/cereal-box.png", "test/helper.rb", "test/helper_active_record.rb", "test/stub.rb", "test/test_all_codec.rb", "test/test_basic.rb", "test/test_transcode.rb"]
25
+ s.extra_rdoc_files = ["CHANGES", "LICENSE", "README", "TODO", "bench/simple.png", "cerealize.gemspec"]
26
+ s.files = ["CHANGES", "LICENSE", "README", "README.rdoc", "Rakefile", "TODO", "bench/simple.png", "bench/simple.rb", "cerealize.gemspec", "init.rb", "lib/cerealize.rb", "lib/cerealize/attr_hash.rb", "lib/cerealize/codec/marshal.rb", "lib/cerealize/codec/yaml.rb", "lib/cerealize/version.rb", "test/common.rb", "test/real.rb", "test/stub.rb", "test/test_all_codec.rb", "test/test_attr_hash.rb", "test/test_basic.rb", "test/test_transcode.rb"]
27
27
  s.homepage = %q{http://github.com/cardinalblue/cerealize}
28
- s.rdoc_options = ["--main", "README.rdoc"]
28
+ s.rdoc_options = ["--main", "README"]
29
29
  s.require_paths = ["lib"]
30
30
  s.rubyforge_project = %q{cerealize}
31
31
  s.rubygems_version = %q{1.3.7}
32
32
  s.summary = %q{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}
33
- s.test_files = ["test/test_all_codec.rb", "test/test_basic.rb", "test/test_transcode.rb"]
33
+ s.test_files = ["test/test_all_codec.rb", "test/test_attr_hash.rb", "test/test_basic.rb", "test/test_transcode.rb"]
34
34
 
35
35
  if s.respond_to? :specification_version then
36
36
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
@@ -1,9 +1,13 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require 'cerealize/attr_hash'
4
+
3
5
  require 'active_record'
4
6
  autoload :YAML, 'yaml'
5
7
 
6
8
  module Cerealize
9
+ InternalName = 'CerealizeMethods'
10
+
7
11
  module Codec
8
12
  autoload 'Yaml', 'cerealize/codec/yaml'
9
13
  autoload 'Marshal', 'cerealize/codec/marshal'
@@ -93,10 +97,10 @@ module Cerealize
93
97
  attr_accessor field_orig
94
98
  private field_orig, "#{field_orig}="
95
99
 
96
- mod = if const_defined?('CerealizeMethods')
97
- const_get('CerealizeMethods')
100
+ mod = if const_defined?(Cerealize::InternalName)
101
+ const_get(Cerealize::InternalName)
98
102
  else
99
- const_set('CerealizeMethods', Module.new)
103
+ const_set(Cerealize::InternalName, Module.new)
100
104
  end
101
105
 
102
106
  mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1
@@ -0,0 +1,32 @@
1
+
2
+ module Cerealize
3
+ module ClassMethods
4
+ def attr_hash property, attrs
5
+ ruby = attrs.inject([]){ |codes, attr|
6
+ codes << <<-RUBY
7
+ def #{attr}
8
+ if #{property}
9
+ #{property}[:#{attr}]
10
+ else
11
+ nil
12
+ end
13
+ end
14
+
15
+ def #{attr}= value
16
+ self.#{property} ||= {}
17
+ #{property}[:#{attr}] = value
18
+ end
19
+ RUBY
20
+ }.join("\n")
21
+
22
+ mod = if const_defined?(Cerealize::InternalName)
23
+ const_get(Cerealize::InternalName)
24
+ else
25
+ const_set(Cerealize::InternalName, Module.new)
26
+ end
27
+
28
+ mod.module_eval ruby
29
+ include mod unless self < mod
30
+ end
31
+ end
32
+ end
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Cerealize
3
- VERSION = '0.8.1'
3
+ VERSION = '0.8.2'
4
4
  end
@@ -1,5 +1,13 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require 'rubygems' if RUBY_VERSION < '1.9.1'
4
+ require 'cerealize'
5
+
6
+ require_relative 'stub'
7
+ require_relative 'real'
8
+
9
+ require 'test/unit'
10
+
3
11
  def set_encoding(encoding)
4
12
  Boat.cerealize_option[:captain] = {:class => nil,
5
13
  :encoding => encoding}
@@ -5,6 +5,8 @@ ActiveRecord::Base.establish_connection(
5
5
  :database => ':memory:'
6
6
  )
7
7
 
8
+ # ===================================================================
9
+
8
10
  class Boat < ActiveRecord::Base
9
11
  include Cerealize
10
12
  cerealize :captain
@@ -18,7 +20,7 @@ ActiveRecord::Base.connection.create_table :boats, :force => true do |t|
18
20
  t.string :cargo
19
21
  end
20
22
 
21
-
23
+ # ===================================================================
22
24
 
23
25
  class Cat < ActiveRecord::Base
24
26
  include Cerealize
@@ -33,7 +35,7 @@ ActiveRecord::Base.connection.create_table :cats, :force => true do |t|
33
35
  t.text :food
34
36
  end
35
37
 
36
-
38
+ # ===================================================================
37
39
 
38
40
  class Dog < ActiveRecord::Base
39
41
  include Cerealize
@@ -47,3 +49,15 @@ end
47
49
  ActiveRecord::Base.connection.create_table :dogs, :force => true do |t|
48
50
  t.text :mood
49
51
  end
52
+
53
+ # ===================================================================
54
+
55
+ class Apple < ActiveRecord::Base
56
+ include Cerealize
57
+ cerealize :data
58
+ attr_hash :data, [:name, :size]
59
+ end
60
+
61
+ ActiveRecord::Base.connection.create_table :apples, :force => true do |t|
62
+ t.text :data
63
+ end
@@ -1,13 +1,12 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'rubygems' if RUBY_VERSION < '1.9.1'
4
- require 'cerealize'
5
-
6
- require 'test/stub'
7
- require 'test/helper'
8
- require 'test/helper_active_record'
3
+ unless respond_to?(:require_relative, true)
4
+ def require_relative path
5
+ require "#{File.dirname(__FILE__)}/#{path}"
6
+ end
7
+ end
9
8
 
10
- require 'test/unit'
9
+ require_relative 'common'
11
10
 
12
11
  class AllCodecTest < Test::Unit::TestCase
13
12
  def setup
@@ -0,0 +1,33 @@
1
+
2
+ unless respond_to?(:require_relative, true)
3
+ def require_relative path
4
+ require "#{File.dirname(__FILE__)}/#{path}"
5
+ end
6
+ end
7
+
8
+ require_relative 'common'
9
+
10
+ class AttrHashTest < Test::Unit::TestCase
11
+ def test_simple
12
+ hh = {:name => 'wane', :size => 123456}
13
+ ah = Apple.new(hh)
14
+
15
+ simple_case(hh, ah)
16
+
17
+ ah.name , ah.size = ah.size , ah.name
18
+ hh[:name], hh[:size] = hh[:size], hh[:name]
19
+
20
+ simple_case(hh, ah)
21
+ end
22
+
23
+ def test_nil
24
+ assert_nil Apple.new.name
25
+ assert_nil Apple.new.data
26
+ end
27
+
28
+ def simple_case hh, ah
29
+ assert_equal hh[:name], ah.name
30
+ assert_equal hh[:size], ah.size
31
+ assert_equal hh , ah.data
32
+ end
33
+ end
@@ -1,13 +1,12 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'rubygems' if RUBY_VERSION < '1.9.1'
4
- require 'cerealize'
5
-
6
- require 'test/stub'
7
- require 'test/helper'
8
- require 'test/helper_active_record'
3
+ unless respond_to?(:require_relative, true)
4
+ def require_relative path
5
+ require "#{File.dirname(__FILE__)}/#{path}"
6
+ end
7
+ end
9
8
 
10
- require 'test/unit'
9
+ require_relative 'common'
11
10
 
12
11
  class BasicTest < Test::Unit::TestCase
13
12
  def setup
@@ -1,13 +1,12 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'rubygems' if RUBY_VERSION < '1.9.1'
4
- require 'cerealize'
5
-
6
- require 'test/stub'
7
- require 'test/helper'
8
- require 'test/helper_active_record'
3
+ unless respond_to?(:require_relative, true)
4
+ def require_relative path
5
+ require "#{File.dirname(__FILE__)}/#{path}"
6
+ end
7
+ end
9
8
 
10
- require 'test/unit'
9
+ require_relative 'common'
11
10
 
12
11
  class TranscodeTest < Test::Unit::TestCase
13
12
  def setup
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cerealize
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
4
+ hash: 59
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 1
10
- version: 0.8.1
9
+ - 2
10
+ version: 0.8.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Cardinal Blue
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-07-16 00:00:00 +08:00
20
+ date: 2010-08-04 00:00:00 +08:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -77,43 +77,14 @@ extensions: []
77
77
  extra_rdoc_files:
78
78
  - CHANGES
79
79
  - LICENSE
80
+ - README
80
81
  - TODO
81
82
  - bench/simple.png
82
83
  - 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
114
84
  files:
115
85
  - CHANGES
116
86
  - LICENSE
87
+ - README
117
88
  - README.rdoc
118
89
  - Rakefile
119
90
  - TODO
@@ -122,44 +93,15 @@ files:
122
93
  - cerealize.gemspec
123
94
  - init.rb
124
95
  - lib/cerealize.rb
96
+ - lib/cerealize/attr_hash.rb
125
97
  - lib/cerealize/codec/marshal.rb
126
98
  - lib/cerealize/codec/yaml.rb
127
99
  - 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
159
- - test/helper.rb
160
- - test/helper_active_record.rb
100
+ - test/common.rb
101
+ - test/real.rb
161
102
  - test/stub.rb
162
103
  - test/test_all_codec.rb
104
+ - test/test_attr_hash.rb
163
105
  - test/test_basic.rb
164
106
  - test/test_transcode.rb
165
107
  has_rdoc: true
@@ -169,7 +111,7 @@ licenses: []
169
111
  post_install_message:
170
112
  rdoc_options:
171
113
  - --main
172
- - README.rdoc
114
+ - README
173
115
  require_paths:
174
116
  - lib
175
117
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -199,5 +141,6 @@ specification_version: 3
199
141
  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
200
142
  test_files:
201
143
  - test/test_all_codec.rb
144
+ - test/test_attr_hash.rb
202
145
  - test/test_basic.rb
203
146
  - test/test_transcode.rb