birkirb-acts_as_serializable 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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