birkirb-acts_as_serializable 0.1.4 → 0.1.5

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.5
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{acts_as_serializable}
5
- s.version = "0.1.4"
5
+ s.version = "0.1.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Birkir A. Barkarson"]
9
- s.date = %q{2009-06-11}
9
+ s.date = %q{2009-06-16}
10
10
  s.description = %q{Easy versioning of serialization methods}
11
11
  s.email = %q{birkirb@stoicviking.net}
12
12
  s.extra_rdoc_files = [
@@ -20,16 +20,12 @@ Gem::Specification.new do |s|
20
20
  "acts_as_serializable.gemspec",
21
21
  "init.rb",
22
22
  "lib/acts_as_serializable.rb",
23
- "lib/builder/hash_structure.rb",
24
- "lib/builder/json_format.rb",
25
- "lib/builder/xml_markup.rb",
26
- "lib/version.rb",
27
- "lib/versions.rb",
23
+ "lib/serializable/version.rb",
24
+ "lib/serializable/versions.rb",
28
25
  "spec/acts_as_serializable_spec.rb",
29
- "spec/app/serializations/test_rails_model/test_rails_model/version_1_0_0.rb",
30
- "spec/app/serializations/test_rails_model/test_rails_model/version_1_5.rb",
31
- "spec/app/serializations/test_rails_model/test_rails_model/version_2_1.rb",
32
- "spec/builder_patch_spec.rb",
26
+ "spec/app/serializations/test_rails_model/version_1_0_0.rb",
27
+ "spec/app/serializations/test_rails_model/version_1_5.rb",
28
+ "spec/app/serializations/test_rails_model/version_2_1.rb",
33
29
  "spec/serializations/test_model/version_1_0_0.rb",
34
30
  "spec/serializations/test_model/version_1_5.rb",
35
31
  "spec/serializations/test_model/version_2_1.rb",
@@ -48,14 +44,13 @@ Gem::Specification.new do |s|
48
44
  "spec/spec_helper.rb",
49
45
  "spec/acts_as_serializable_spec.rb",
50
46
  "spec/versions_spec.rb",
51
- "spec/builder_patch_spec.rb",
52
47
  "spec/version_spec.rb",
53
48
  "spec/serializations/test_model/version_1_0_0.rb",
54
49
  "spec/serializations/test_model/version_2_1.rb",
55
50
  "spec/serializations/test_model/version_1_5.rb",
56
- "spec/app/serializations/test_rails_model/test_rails_model/version_1_0_0.rb",
57
- "spec/app/serializations/test_rails_model/test_rails_model/version_2_1.rb",
58
- "spec/app/serializations/test_rails_model/test_rails_model/version_1_5.rb"
51
+ "spec/app/serializations/test_rails_model/version_1_0_0.rb",
52
+ "spec/app/serializations/test_rails_model/version_2_1.rb",
53
+ "spec/app/serializations/test_rails_model/version_1_5.rb"
59
54
  ]
60
55
 
61
56
  if s.respond_to? :specification_version then
@@ -1,9 +1,6 @@
1
1
  require 'jsonbuilder'
2
2
  require 'active_support'
3
3
  require 'find'
4
- require File.join(File.dirname(__FILE__), 'builder/xml_markup')
5
- require File.join(File.dirname(__FILE__), 'builder/json_format')
6
- require File.join(File.dirname(__FILE__), 'builder/hash_structure')
7
4
 
8
5
  module Serializable
9
6
  SERIALIZE_TO_VERSION_REGEXP = /^serialize_to_version_((:?\d+_?)+)$/
@@ -35,7 +32,7 @@ module Serializable
35
32
  Find.find(serialization_directory) do |path|
36
33
  if File.file?(path) && versioned_klass = path.match(SERIALIZED_CLASS_NAME_REGEXP)
37
34
  require path
38
- klass = Serializable.const_get("#{klass_name}").const_get("Version_#{versioned_klass[1]}")
35
+ klass = Serializations.const_get("#{klass_name}").const_get("Version_#{versioned_klass[1]}")
39
36
  if klass && klass.respond_to?(:serialize)
40
37
  define_local_serialization_method(versioned_klass[1])
41
38
  end
@@ -74,7 +71,7 @@ module Serializable
74
71
  def define_local_serialization_method(method_version)
75
72
  class_eval <<-EOV
76
73
  def serialize_to_version_#{method_version}(builder, options)
77
- Serializable::#{self.name}::Version_#{method_version}.serialize(self, builder, options)
74
+ Serializations::#{self.name}::Version_#{method_version}.serialize(self, builder, options)
78
75
  end
79
76
  EOV
80
77
  @serialization_versions << Version.new(method_version)
@@ -98,7 +95,7 @@ module Serializable
98
95
  end
99
96
 
100
97
  def to_json(options = {})
101
- serialize(Builder::JsonFormat.new, options)
98
+ serialize(Builder::JsonFormat.new, options).to_json
102
99
  end
103
100
 
104
101
  def to_xml(options = {})
File without changes
File without changes
@@ -23,7 +23,7 @@ class WithSerialize < SerializableObject
23
23
  acts_as_serializable
24
24
 
25
25
  def serialize(builder, options)
26
- builder
26
+ builder.test('value')
27
27
  end
28
28
  end
29
29
 
@@ -65,22 +65,21 @@ describe Serializable, 'if included in a class, then that class' do
65
65
 
66
66
  context 'with the serialized method overriden to return the builder' do
67
67
 
68
- it '#to_xml should return an Builder::XmlMarkup' do
68
+ it '#to_xml should return an Builder::XmlMarkup serialization' do
69
69
  klass = WithSerialize.new
70
- klass.to_xml.test.should == "<test/>"
70
+ klass.to_xml.should == "<test>value</test>"
71
71
  end
72
72
 
73
- it '#to_hash should return an Builder::Hash' do
73
+ it '#to_hash should return an Builder::HashStructure serialization' do
74
74
  klass = WithSerialize.new
75
- klass.to_hash.test('value').should == 'value'
75
+ klass.to_hash.should == 'value'
76
76
  end
77
77
 
78
- it '#to_json should return an Builder::Json' do
78
+ it '#to_json should return an Builder::JsonFormat serialization' do
79
79
  klass = WithSerialize.new
80
- klass.to_json.test('value').should == '"value"'
80
+ klass.to_json.should == '"value"'
81
81
  end
82
82
  end
83
-
84
83
  end
85
84
 
86
85
  describe Serializable, 'when included in a class that has multiple versioned serialization methods' do
@@ -91,7 +90,7 @@ describe Serializable, 'when included in a class that has multiple versioned ser
91
90
  klass = SerializableObject.new
92
91
 
93
92
  klass.to_xml(:version => '1.0.0').should == "This is version 1.0.0"
94
- klass.to_json(:version => '1.5.0').should == "This is version 1.5.0"
93
+ klass.to_json(:version => '1.5.0').should == "\"This is version 1.5.0\""
95
94
  klass.to_hash(:version => '2.1.0').should == "This is version 2.1"
96
95
  end
97
96
 
@@ -99,7 +98,7 @@ describe Serializable, 'when included in a class that has multiple versioned ser
99
98
  klass = SerializableObject.new
100
99
 
101
100
  klass.to_xml(:version => '1.4.0').should == "This is version 1.0.0"
102
- klass.to_json(:version => '3.1.0').should == "This is version 2.1"
101
+ klass.to_json(:version => '3.1.0').should == "\"This is version 2.1\""
103
102
  end
104
103
 
105
104
  it 'should raise an error if no corresponding version exists' do
@@ -112,7 +111,7 @@ describe Serializable, 'when included in a class that has multiple versioned ser
112
111
  klass = SerializableObject.new
113
112
 
114
113
  klass.serialize_for(Builder::XmlMarkup.new).should == "This is version 2.1"
115
- klass.serialize_for(Builder::JsonFormat.new).should == "This is version 2.1"
114
+ klass.serialize_for(Builder::JsonFormat.new).should == "\"This is version 2.1\""
116
115
  klass.serialize_for(Builder::HashStructure.new).should == "This is version 2.1"
117
116
  end
118
117
  end
@@ -148,7 +147,7 @@ describe Serializable, 'when included in a class that has multiple serialization
148
147
  klass = TestModel.new
149
148
 
150
149
  klass.to_xml(:version => '1.0.0').should == "This is version 1.0.0 for TestModel"
151
- klass.to_json(:version => '1.5.0').should == "This is version 1.5.0 for TestModel"
150
+ klass.to_json(:version => '1.5.0').should == "\"This is version 1.5.0 for TestModel\""
152
151
  klass.to_hash(:version => '2.1.0').should == "This is version 2.1 for TestModel"
153
152
  end
154
153
 
@@ -156,7 +155,7 @@ describe Serializable, 'when included in a class that has multiple serialization
156
155
  klass = TestModel.new
157
156
 
158
157
  klass.to_xml(:version => '1.4.0').should == "This is version 1.0.0 for TestModel"
159
- klass.to_json(:version => '3.1.0').should == "This is version 2.1 for TestModel"
158
+ klass.to_json(:version => '3.1.0').should == "\"This is version 2.1 for TestModel\""
160
159
  end
161
160
 
162
161
  it 'should raise an error if no corresponding version exists' do
@@ -185,7 +184,7 @@ describe Serializable, 'when included in a class that has multiple serialization
185
184
  klass = TestRailsModel.new
186
185
 
187
186
  klass.to_xml(:version => '1.0.0').should == "This is version 1.0.0 for TestRailsModel"
188
- klass.to_json(:version => '1.5.0').should == "This is version 1.5.0 for TestRailsModel"
187
+ klass.to_json(:version => '1.5.0').should == "\"This is version 1.5.0 for TestRailsModel\""
189
188
  klass.to_hash(:version => '2.1.0').should == "This is version 2.1 for TestRailsModel"
190
189
  end
191
190
  end
@@ -1,4 +1,4 @@
1
- module Serializable
1
+ module Serializations
2
2
  module TestRailsModel
3
3
  class Version_1_0_0
4
4
  def self.serialize(test_model, builder, options)
@@ -1,4 +1,4 @@
1
- module Serializable
1
+ module Serializations
2
2
  module TestRailsModel
3
3
  class Version_1_5
4
4
  def self.serialize(test_model, builder, options)
@@ -1,4 +1,4 @@
1
- module Serializable
1
+ module Serializations
2
2
  module TestRailsModel
3
3
  class Version_2_1
4
4
  def self.serialize(test_model, builder, options)
@@ -1,4 +1,4 @@
1
- module Serializable
1
+ module Serializations
2
2
  module TestModel
3
3
  class Version_1_0_0
4
4
  def self.serialize(test_model, builder, options)
@@ -1,4 +1,4 @@
1
- module Serializable
1
+ module Serializations
2
2
  module TestModel
3
3
  class Version_1_5
4
4
  def self.serialize(test_model, builder, options)
@@ -1,4 +1,4 @@
1
- module Serializable
1
+ module Serializations
2
2
  module TestModel
3
3
  class Version_2_1
4
4
  def self.serialize(test_model, builder, options)
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'spec'
3
3
 
4
- require 'lib/version'
5
- require 'lib/versions'
4
+ require 'lib/serializable/version'
5
+ require 'lib/serializable/versions'
6
6
  require 'lib/acts_as_serializable'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: birkirb-acts_as_serializable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Birkir A. Barkarson
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-11 00:00:00 -07:00
12
+ date: 2009-06-16 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -48,16 +48,12 @@ files:
48
48
  - acts_as_serializable.gemspec
49
49
  - init.rb
50
50
  - lib/acts_as_serializable.rb
51
- - lib/builder/hash_structure.rb
52
- - lib/builder/json_format.rb
53
- - lib/builder/xml_markup.rb
54
- - lib/version.rb
55
- - lib/versions.rb
51
+ - lib/serializable/version.rb
52
+ - lib/serializable/versions.rb
56
53
  - spec/acts_as_serializable_spec.rb
57
- - spec/app/serializations/test_rails_model/test_rails_model/version_1_0_0.rb
58
- - spec/app/serializations/test_rails_model/test_rails_model/version_1_5.rb
59
- - spec/app/serializations/test_rails_model/test_rails_model/version_2_1.rb
60
- - spec/builder_patch_spec.rb
54
+ - spec/app/serializations/test_rails_model/version_1_0_0.rb
55
+ - spec/app/serializations/test_rails_model/version_1_5.rb
56
+ - spec/app/serializations/test_rails_model/version_2_1.rb
61
57
  - spec/serializations/test_model/version_1_0_0.rb
62
58
  - spec/serializations/test_model/version_1_5.rb
63
59
  - spec/serializations/test_model/version_2_1.rb
@@ -94,11 +90,10 @@ test_files:
94
90
  - spec/spec_helper.rb
95
91
  - spec/acts_as_serializable_spec.rb
96
92
  - spec/versions_spec.rb
97
- - spec/builder_patch_spec.rb
98
93
  - spec/version_spec.rb
99
94
  - spec/serializations/test_model/version_1_0_0.rb
100
95
  - spec/serializations/test_model/version_2_1.rb
101
96
  - spec/serializations/test_model/version_1_5.rb
102
- - spec/app/serializations/test_rails_model/test_rails_model/version_1_0_0.rb
103
- - spec/app/serializations/test_rails_model/test_rails_model/version_2_1.rb
104
- - spec/app/serializations/test_rails_model/test_rails_model/version_1_5.rb
97
+ - spec/app/serializations/test_rails_model/version_1_0_0.rb
98
+ - spec/app/serializations/test_rails_model/version_2_1.rb
99
+ - spec/app/serializations/test_rails_model/version_1_5.rb
@@ -1,7 +0,0 @@
1
- module Builder
2
- class HashStructure
3
- def serialization_method!
4
- :to_hash
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Builder
2
- class JsonFormat
3
- def serialization_method!
4
- :to_json
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Builder
2
- class XmlMarkup
3
- def serialization_method!
4
- :to_xml
5
- end
6
- end
7
- end
@@ -1,19 +0,0 @@
1
- require 'spec/spec_helper'
2
-
3
- describe Builder::XmlMarkup, 'having been patched' do
4
- it 'should support #serialization_method' do
5
- Builder::XmlMarkup.new.serialization_method!.should == :to_xml
6
- end
7
- end
8
-
9
- describe Builder::HashStructure, 'having been patched' do
10
- it 'should support #serialization_method' do
11
- Builder::HashStructure.new.serialization_method!.should == :to_hash
12
- end
13
- end
14
-
15
- describe Builder::JsonFormat, 'having been patched' do
16
- it 'should support #serialization_method' do
17
- Builder::JsonFormat.new.serialization_method!.should == :to_json
18
- end
19
- end