json_builder 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- json_builder (3.1.0)
4
+ json_builder (3.1.1)
5
5
  activesupport (>= 2.0.0)
6
6
 
7
7
  GEM
@@ -14,7 +14,16 @@ end
14
14
 
15
15
  class String
16
16
  def to_builder
17
- "\"#{self}\""
17
+ %("#{json_escape}")
18
+ end
19
+
20
+ private
21
+
22
+ def json_escape
23
+ self.gsub(/\n/, '\\n')
24
+ .gsub(/\r/, '\\r')
25
+ .gsub(/\t/, '\\t')
26
+ .gsub(/\f/, '\\f')
18
27
  end
19
28
  end
20
29
 
@@ -33,33 +42,33 @@ end
33
42
  module ActiveSupport
34
43
  class TimeWithZone
35
44
  def to_builder
36
- "\"#{iso8601}\""
45
+ %("#{iso8601}")
37
46
  end
38
47
  end
39
48
  end
40
49
 
41
50
  class Time
42
51
  def to_builder
43
- "\"#{iso8601}\""
52
+ %("#{iso8601}")
44
53
  end
45
54
  end
46
55
 
47
56
  class Date
48
57
  def to_builder
49
- "\"#{to_time.iso8601}\""
58
+ %("#{to_time.iso8601}")
50
59
  end
51
60
  end
52
61
 
53
62
  class DateTime
54
63
  def to_builder
55
- "\"#{to_time.iso8601}\""
64
+ %("#{to_time.iso8601}")
56
65
  end
57
66
  end
58
67
 
59
68
  module BSON
60
69
  class ObjectId
61
70
  def to_builder
62
- "\"#{self}\""
71
+ %("#{self}")
63
72
  end
64
73
  end
65
74
  end
@@ -1,3 +1,3 @@
1
1
  module JSONBuilder
2
- VERSION = '3.1.0'
2
+ VERSION = '3.1.1'
3
3
  end
@@ -94,4 +94,10 @@ class TestCompiler < Test::Unit::TestCase
94
94
  key 'é', 'json'
95
95
  end
96
96
  end
97
+
98
+ def test_newline_characters
99
+ assert_builder_json('{"newline": "hello\nworld"}') do
100
+ newline "hello\nworld"
101
+ end
102
+ end
97
103
  end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_builder
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 3
7
- - 1
8
- - 0
9
- version: 3.1.0
4
+ prerelease:
5
+ version: 3.1.1
10
6
  platform: ruby
11
7
  authors:
12
8
  - Garrett Bjerkhoel
@@ -14,8 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2012-02-27 00:00:00 -08:00
18
- default_executable:
13
+ date: 2012-04-04 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: activesupport
@@ -24,10 +19,6 @@ dependencies:
24
19
  requirements:
25
20
  - - ">="
26
21
  - !ruby/object:Gem::Version
27
- segments:
28
- - 2
29
- - 0
30
- - 0
31
22
  version: 2.0.0
32
23
  type: :runtime
33
24
  prerelease: false
@@ -39,8 +30,6 @@ dependencies:
39
30
  requirements:
40
31
  - - ">="
41
32
  - !ruby/object:Gem::Version
42
- segments:
43
- - 0
44
33
  version: "0"
45
34
  type: :development
46
35
  prerelease: false
@@ -78,7 +67,6 @@ files:
78
67
  - test/member_test.rb
79
68
  - test/test_helper.rb
80
69
  - test/value_test.rb
81
- has_rdoc: true
82
70
  homepage:
83
71
  licenses: []
84
72
 
@@ -92,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
80
  requirements:
93
81
  - - ">="
94
82
  - !ruby/object:Gem::Version
95
- hash: -1289439851901198119
83
+ hash: 1983808779461628758
96
84
  segments:
97
85
  - 0
98
86
  version: "0"
@@ -101,14 +89,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
89
  requirements:
102
90
  - - ">="
103
91
  - !ruby/object:Gem::Version
104
- hash: -1289439851901198119
92
+ hash: 1983808779461628758
105
93
  segments:
106
94
  - 0
107
95
  version: "0"
108
96
  requirements: []
109
97
 
110
98
  rubyforge_project:
111
- rubygems_version: 1.3.7
99
+ rubygems_version: 1.8.17
112
100
  signing_key:
113
101
  specification_version: 3
114
102
  summary: Rails provides an excellent XML Builder by default to build RSS and ATOM feeds, but nothing to help you build complex and custom JSON data structures. The standard to_json works well, but can get very verbose when you need full control of what is generated. JSON Builder hopes to solve that problem.