cerealize 0.8.6 → 0.8.7
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/.specification +139 -0
- data/CHANGES +18 -0
- data/README +2 -2
- data/README.rdoc +2 -2
- data/cerealize.gemspec +134 -48
- data/lib/cerealize.rb +3 -2
- data/lib/cerealize/codec/text.rb +19 -0
- data/lib/cerealize/version.rb +1 -1
- metadata +10 -7
data/.specification
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cerealize
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 8
|
8
|
+
- 7
|
9
|
+
version: 0.8.7
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Cardinal Blue
|
13
|
+
- "Lin Jen-Shin (aka godfat \xE7\x9C\x9F\xE5\xB8\xB8)"
|
14
|
+
- Jaime Cham
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
|
19
|
+
date: 2010-10-20 00:00:00 +08:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
name: activerecord
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - <
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
version: "3"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: sqlite3-ruby
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
segments:
|
44
|
+
- 1
|
45
|
+
- 3
|
46
|
+
- 1
|
47
|
+
version: 1.3.1
|
48
|
+
type: :development
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: bones
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
segments:
|
59
|
+
- 3
|
60
|
+
- 5
|
61
|
+
- 0
|
62
|
+
version: 3.5.0
|
63
|
+
type: :development
|
64
|
+
version_requirements: *id003
|
65
|
+
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.10)\n 2. DataMapper (planned)"
|
66
|
+
email: dev (XD) cardinalblue.com
|
67
|
+
executables: []
|
68
|
+
|
69
|
+
extensions: []
|
70
|
+
|
71
|
+
extra_rdoc_files:
|
72
|
+
- CHANGES
|
73
|
+
- LICENSE
|
74
|
+
- README
|
75
|
+
- TODO
|
76
|
+
- bench/simple.png
|
77
|
+
- cerealize.gemspec
|
78
|
+
files:
|
79
|
+
- CHANGES
|
80
|
+
- LICENSE
|
81
|
+
- README
|
82
|
+
- README.rdoc
|
83
|
+
- Rakefile
|
84
|
+
- TODO
|
85
|
+
- bench/simple.png
|
86
|
+
- bench/simple.rb
|
87
|
+
- cerealize.gemspec
|
88
|
+
- init.rb
|
89
|
+
- lib/cerealize.rb
|
90
|
+
- lib/cerealize/attr_hash.rb
|
91
|
+
- lib/cerealize/codec/marshal.rb
|
92
|
+
- lib/cerealize/codec/text.rb
|
93
|
+
- lib/cerealize/codec/yaml.rb
|
94
|
+
- lib/cerealize/version.rb
|
95
|
+
- test/common.rb
|
96
|
+
- test/real.rb
|
97
|
+
- test/stub.rb
|
98
|
+
- test/test_all_codec.rb
|
99
|
+
- test/test_attr_hash.rb
|
100
|
+
- test/test_basic.rb
|
101
|
+
- test/test_transcode.rb
|
102
|
+
has_rdoc: true
|
103
|
+
homepage: http://github.com/cardinalblue/cerealize
|
104
|
+
licenses: []
|
105
|
+
|
106
|
+
post_install_message:
|
107
|
+
rdoc_options:
|
108
|
+
- --main
|
109
|
+
- README
|
110
|
+
require_paths:
|
111
|
+
- lib
|
112
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
segments:
|
118
|
+
- 0
|
119
|
+
version: "0"
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
version: "0"
|
128
|
+
requirements: []
|
129
|
+
|
130
|
+
rubyforge_project: cerealize
|
131
|
+
rubygems_version: 1.3.7
|
132
|
+
signing_key:
|
133
|
+
specification_version: 3
|
134
|
+
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
|
135
|
+
test_files:
|
136
|
+
- test/test_all_codec.rb
|
137
|
+
- test/test_attr_hash.rb
|
138
|
+
- test/test_basic.rb
|
139
|
+
- test/test_transcode.rb
|
data/CHANGES
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
= cerealize changes history
|
2
2
|
|
3
|
+
== cerealize 0.8.7 -- 2010-10-20
|
4
|
+
|
5
|
+
* Added a special encoding: "text". The purpose of this encoding is to
|
6
|
+
let you migrate from a plain/text database column into an encoded one.
|
7
|
+
Since Ruby 1.8's YAML engine, Sych, has some problems dumping some kinds
|
8
|
+
of data, producing improperly formatted YAML. This causes an issue in
|
9
|
+
delayed_job, which uses YAML to serialize ActiveRecord object, and cannot
|
10
|
+
properly restore that object due to the bad YAML format.
|
11
|
+
|
12
|
+
So we need to encode the column, preventing from Sych dumping bad YAML.
|
13
|
+
This special text encoding is only used for decoding, not encoding.
|
14
|
+
(Thus don't use it for encoding! It actually uses YAML to encode.)
|
15
|
+
Since cerealize has the ability to detect the encoding, it will fall back
|
16
|
+
to text encoding if it's not any of the supported encoding. Thus reading
|
17
|
+
text from the column, then storing back to Marshal or YAML. In this case,
|
18
|
+
we need Marshal because all the problem comes from YAML, which delayed_job
|
19
|
+
uses anyway.
|
20
|
+
|
3
21
|
== cerealize 0.8.6 -- 2010-09-29
|
4
22
|
|
5
23
|
* Make sure attr_hash didn't get saved setting the same value.
|
data/README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= cerealize 0.8.
|
1
|
+
= cerealize 0.8.7
|
2
2
|
by Cardinal Blue ( http://cardinalblue.com )
|
3
3
|
|
4
4
|
== LINKS:
|
@@ -21,7 +21,7 @@ by Cardinal Blue ( http://cardinalblue.com )
|
|
21
21
|
3. JSON (planned)
|
22
22
|
|
23
23
|
Current supported ORM:
|
24
|
-
1. ActiveRecord (tested with 2.3.
|
24
|
+
1. ActiveRecord (tested with 2.3.10)
|
25
25
|
2. DataMapper (planned)
|
26
26
|
|
27
27
|
== SYNOPSIS:
|
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= cerealize 0.8.
|
1
|
+
= cerealize 0.8.7
|
2
2
|
by Cardinal Blue ( http://cardinalblue.com )
|
3
3
|
|
4
4
|
== LINKS:
|
@@ -21,7 +21,7 @@ by Cardinal Blue ( http://cardinalblue.com )
|
|
21
21
|
3. JSON (planned)
|
22
22
|
|
23
23
|
Current supported ORM:
|
24
|
-
1. ActiveRecord (tested with 2.3.
|
24
|
+
1. ActiveRecord (tested with 2.3.10)
|
25
25
|
2. DataMapper (planned)
|
26
26
|
|
27
27
|
== SYNOPSIS:
|
data/cerealize.gemspec
CHANGED
@@ -1,53 +1,139 @@
|
|
1
|
-
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cerealize
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 8
|
8
|
+
- 7
|
9
|
+
version: 0.8.7
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Cardinal Blue
|
13
|
+
- "Lin Jen-Shin (aka godfat \xE7\x9C\x9F\xE5\xB8\xB8)"
|
14
|
+
- Jaime Cham
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
2
18
|
|
3
|
-
|
4
|
-
|
5
|
-
|
19
|
+
date: 2010-10-20 00:00:00 +08:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
name: activerecord
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - <
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
version: "3"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: sqlite3-ruby
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
segments:
|
44
|
+
- 1
|
45
|
+
- 3
|
46
|
+
- 1
|
47
|
+
version: 1.3.1
|
48
|
+
type: :development
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: bones
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
segments:
|
59
|
+
- 3
|
60
|
+
- 5
|
61
|
+
- 0
|
62
|
+
version: 3.5.0
|
63
|
+
type: :development
|
64
|
+
version_requirements: *id003
|
65
|
+
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.10)\n 2. DataMapper (planned)"
|
66
|
+
email: dev (XD) cardinalblue.com
|
67
|
+
executables: []
|
6
68
|
|
7
|
-
|
8
|
-
s.authors = ["Cardinal Blue", "Lin Jen-Shin (aka godfat 真常)", "Jaime Cham"]
|
9
|
-
s.date = %q{2010-09-29}
|
10
|
-
s.description = %q{ Serialize out of the Cerealize Box
|
11
|
-
- a drop-in replacement for ActiveRecord's serialize
|
69
|
+
extensions: []
|
12
70
|
|
13
|
-
|
14
|
-
|
71
|
+
extra_rdoc_files:
|
72
|
+
- CHANGES
|
73
|
+
- LICENSE
|
74
|
+
- README
|
75
|
+
- TODO
|
76
|
+
- bench/simple.png
|
77
|
+
- cerealize.gemspec
|
78
|
+
files:
|
79
|
+
- CHANGES
|
80
|
+
- LICENSE
|
81
|
+
- README
|
82
|
+
- README.rdoc
|
83
|
+
- Rakefile
|
84
|
+
- TODO
|
85
|
+
- bench/simple.png
|
86
|
+
- bench/simple.rb
|
87
|
+
- cerealize.gemspec
|
88
|
+
- init.rb
|
89
|
+
- lib/cerealize.rb
|
90
|
+
- lib/cerealize/attr_hash.rb
|
91
|
+
- lib/cerealize/codec/marshal.rb
|
92
|
+
- lib/cerealize/codec/text.rb
|
93
|
+
- lib/cerealize/codec/yaml.rb
|
94
|
+
- lib/cerealize/version.rb
|
95
|
+
- test/common.rb
|
96
|
+
- test/real.rb
|
97
|
+
- test/stub.rb
|
98
|
+
- test/test_all_codec.rb
|
99
|
+
- test/test_attr_hash.rb
|
100
|
+
- test/test_basic.rb
|
101
|
+
- test/test_transcode.rb
|
102
|
+
has_rdoc: true
|
103
|
+
homepage: http://github.com/cardinalblue/cerealize
|
104
|
+
licenses: []
|
15
105
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
106
|
+
post_install_message:
|
107
|
+
rdoc_options:
|
108
|
+
- --main
|
109
|
+
- README
|
110
|
+
require_paths:
|
111
|
+
- lib
|
112
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
segments:
|
118
|
+
- 0
|
119
|
+
version: "0"
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
version: "0"
|
128
|
+
requirements: []
|
20
129
|
|
21
|
-
|
22
|
-
1.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
s.rubygems_version = %q{1.3.7}
|
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_attr_hash.rb", "test/test_basic.rb", "test/test_transcode.rb"]
|
34
|
-
|
35
|
-
if s.respond_to? :specification_version then
|
36
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
37
|
-
s.specification_version = 3
|
38
|
-
|
39
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
40
|
-
s.add_runtime_dependency(%q<activerecord>, ["< 3"])
|
41
|
-
s.add_development_dependency(%q<sqlite3-ruby>, [">= 1.3.1"])
|
42
|
-
s.add_development_dependency(%q<bones>, [">= 3.4.7"])
|
43
|
-
else
|
44
|
-
s.add_dependency(%q<activerecord>, ["< 3"])
|
45
|
-
s.add_dependency(%q<sqlite3-ruby>, [">= 1.3.1"])
|
46
|
-
s.add_dependency(%q<bones>, [">= 3.4.7"])
|
47
|
-
end
|
48
|
-
else
|
49
|
-
s.add_dependency(%q<activerecord>, ["< 3"])
|
50
|
-
s.add_dependency(%q<sqlite3-ruby>, [">= 1.3.1"])
|
51
|
-
s.add_dependency(%q<bones>, [">= 3.4.7"])
|
52
|
-
end
|
53
|
-
end
|
130
|
+
rubyforge_project: cerealize
|
131
|
+
rubygems_version: 1.3.7
|
132
|
+
signing_key:
|
133
|
+
specification_version: 3
|
134
|
+
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
|
135
|
+
test_files:
|
136
|
+
- test/test_all_codec.rb
|
137
|
+
- test/test_attr_hash.rb
|
138
|
+
- test/test_basic.rb
|
139
|
+
- test/test_transcode.rb
|
data/lib/cerealize.rb
CHANGED
@@ -10,8 +10,9 @@ module Cerealize
|
|
10
10
|
InternalName = 'CerealizeMethods'
|
11
11
|
|
12
12
|
module Codec
|
13
|
-
autoload 'Yaml',
|
13
|
+
autoload 'Yaml' , 'cerealize/codec/yaml'
|
14
14
|
autoload 'Marshal', 'cerealize/codec/marshal'
|
15
|
+
autoload 'Text' , 'cerealize/codec/text'
|
15
16
|
end
|
16
17
|
class NoSuchCodec < ArgumentError; end
|
17
18
|
class NoSuitableCodec < RuntimeError ; end
|
@@ -36,7 +37,7 @@ module Cerealize
|
|
36
37
|
end
|
37
38
|
|
38
39
|
def codec_names
|
39
|
-
@codec_names ||= [:yaml, :marshal]
|
40
|
+
@codec_names ||= [:yaml, :marshal, :text]
|
40
41
|
end
|
41
42
|
|
42
43
|
def codec_detect(str)
|
data/lib/cerealize/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
8
|
+
- 7
|
9
|
+
version: 0.8.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Cardinal Blue
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-10-20 00:00:00 +08:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -57,18 +57,19 @@ dependencies:
|
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
segments:
|
59
59
|
- 3
|
60
|
-
-
|
61
|
-
-
|
62
|
-
version: 3.
|
60
|
+
- 5
|
61
|
+
- 0
|
62
|
+
version: 3.5.0
|
63
63
|
type: :development
|
64
64
|
version_requirements: *id003
|
65
|
-
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.
|
65
|
+
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.10)\n 2. DataMapper (planned)"
|
66
66
|
email: dev (XD) cardinalblue.com
|
67
67
|
executables: []
|
68
68
|
|
69
69
|
extensions: []
|
70
70
|
|
71
71
|
extra_rdoc_files:
|
72
|
+
- .specification
|
72
73
|
- CHANGES
|
73
74
|
- LICENSE
|
74
75
|
- README
|
@@ -76,6 +77,7 @@ extra_rdoc_files:
|
|
76
77
|
- bench/simple.png
|
77
78
|
- cerealize.gemspec
|
78
79
|
files:
|
80
|
+
- .specification
|
79
81
|
- CHANGES
|
80
82
|
- LICENSE
|
81
83
|
- README
|
@@ -89,6 +91,7 @@ files:
|
|
89
91
|
- lib/cerealize.rb
|
90
92
|
- lib/cerealize/attr_hash.rb
|
91
93
|
- lib/cerealize/codec/marshal.rb
|
94
|
+
- lib/cerealize/codec/text.rb
|
92
95
|
- lib/cerealize/codec/yaml.rb
|
93
96
|
- lib/cerealize/version.rb
|
94
97
|
- test/common.rb
|