serialize 0.0.3 → 1.0.0

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.
@@ -2,7 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- #- jruby-19mode
6
5
  - rbx-19mode
7
- - ruby-head
6
+ #- jruby-19mode
7
+ #- ruby-head
8
8
  script: "ruby -Itest:lib test/all.rb"
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ ### 1.0.0
4
+
5
+ * XML support is disabled by default, but it can be enabled
6
+ * You have to require active_support and builder yourself for XML support
7
+ * yajl-ruby is used instead of the json gem
8
+ * [Bug Fix] `Serialize::Generator` no longer assumes an `id` method exists on an object
9
+
10
+ ### 0.0.3
11
+
12
+ * added support for `id` methods getting serialized
13
+
14
+ ### 0.0.2
15
+
16
+ * removed all instance methods from `Serialize::Generator`
data/Gemfile CHANGED
@@ -2,3 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in serialize.gemspec
4
4
  gemspec
5
+
6
+ group :test do
7
+ gem "activesupport"
8
+ gem "builder"
9
+ end
data/README.md CHANGED
@@ -53,10 +53,20 @@ Or install it yourself as:
53
53
  @collection = App.all
54
54
  AppSerializer.new(@collection, :as => :extended)
55
55
 
56
+ Enabling XML Support
57
+
58
+ # include dependenies
59
+ gem "activesupport"
60
+ gem "builder"
61
+
62
+ # require serialize/xml
63
+ require "serialize"
64
+ require "serialize/xml"
65
+
56
66
  ## Serialization Formats
57
67
 
58
- The `serialize` gem comes with JSON and XML support, but you can add
59
- your own.
68
+ The `serialize` gem comes with JSON support enabled by default. XML has been disabled,
69
+ but can be required. You can also add your own forms of serialization.
60
70
 
61
71
  To do this, you'll have to define a `render` method that accepts
62
72
  `*args`. Because JSON and XML parsing pass different arguments `*args`
@@ -2,8 +2,6 @@ require "serialize/version"
2
2
  require "serialize/generator"
3
3
  require "serialize/format"
4
4
  require "serialize/json"
5
- require "serialize/xml"
6
- require "active_support/core_ext"
7
5
 
8
6
  class Serialize
9
7
  def initialize(object, options={})
@@ -44,4 +42,3 @@ class Serialize
44
42
  end
45
43
 
46
44
  Serialize.register "application/json", Serialize::Json
47
- Serialize.register "application/xml", Serialize::Xml
@@ -9,7 +9,7 @@ class Serialize
9
9
  def initialize(object, block)
10
10
  @object = object
11
11
  @block = block
12
- @id = @object.id
12
+ @id = @object.id if @object.respond_to? :id
13
13
  end
14
14
 
15
15
  def to_hash
@@ -1,3 +1,5 @@
1
+ require "yajl/json_gem"
2
+
1
3
  class Serialize
2
4
  class Json < Format
3
5
  def render(*args)
@@ -1,3 +1,3 @@
1
1
  class Serialize
2
- VERSION = "0.0.3"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -1,3 +1,5 @@
1
+ require "active_support/core_ext"
2
+
1
3
  class Serialize
2
4
  class Xml < Format
3
5
  def render(*args)
@@ -24,3 +26,4 @@ class Serialize
24
26
  end
25
27
  end
26
28
 
29
+ Serialize.register "application/xml", Serialize::Xml
@@ -15,7 +15,5 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Serialize::VERSION
17
17
 
18
- gem.add_runtime_dependency "json"
19
- gem.add_runtime_dependency "activesupport"
20
- gem.add_runtime_dependency "builder"
18
+ gem.add_runtime_dependency "yajl-ruby"
21
19
  end
@@ -1,5 +1,6 @@
1
1
  require "minitest/autorun"
2
2
  require "serialize"
3
+ require "serialize/xml"
3
4
  require "support/mock_user"
4
5
  require "support/mock_resource"
5
6
  require "support/user_serializer"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serialize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-30 00:00:00.000000000 Z
12
+ date: 2012-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: json
16
- requirement: &70172724705520 !ruby/object:Gem::Requirement
15
+ name: yajl-ruby
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,29 +21,12 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70172724705520
25
- - !ruby/object:Gem::Dependency
26
- name: activesupport
27
- requirement: &70172724704780 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
29
  version: '0'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70172724704780
36
- - !ruby/object:Gem::Dependency
37
- name: builder
38
- requirement: &70172724703960 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :runtime
45
- prerelease: false
46
- version_requirements: *70172724703960
47
30
  description: Simple object serialization
48
31
  email:
49
32
  - dane.harrigan@gmail.com
@@ -53,6 +36,7 @@ extra_rdoc_files: []
53
36
  files:
54
37
  - .gitignore
55
38
  - .travis.yml
39
+ - Changelog.md
56
40
  - Gemfile
57
41
  - LICENSE
58
42
  - README.md
@@ -92,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
76
  version: '0'
93
77
  requirements: []
94
78
  rubyforge_project:
95
- rubygems_version: 1.8.11
79
+ rubygems_version: 1.8.23
96
80
  signing_key:
97
81
  specification_version: 3
98
82
  summary: Simple object serialization