serialize 0.0.3 → 1.0.0

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