multi_json 1.3.7 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
+ --fail-fast
2
3
  --order random
@@ -4,7 +4,7 @@ module MultiJson
4
4
 
5
5
  def load(string, options={})
6
6
  string = string.read if string.respond_to?(:read)
7
- ::JSON.parse(string, :symbolize_names => options[:symbolize_keys])
7
+ ::JSON.parse(string, :symbolize_names => options[:symbolize_keys], :quirks_mode => true)
8
8
  end
9
9
 
10
10
  def dump(object, options={})
@@ -7,7 +7,7 @@ module MultiJson
7
7
 
8
8
  def self.load(string, options={}) #:nodoc:
9
9
  string = string.read if string.respond_to?(:read)
10
- result = ::MultiJson::OkJson.decode(string)
10
+ result = ::MultiJson::OkJson.decode("[#{string}]").first
11
11
  options[:symbolize_keys] ? symbolize_keys(result) : result
12
12
  end
13
13
 
@@ -1,3 +1,3 @@
1
1
  module MultiJson
2
- VERSION = "1.3.7" unless defined?(MultiJson::VERSION)
2
+ VERSION = "1.4.0" unless defined?(MultiJson::VERSION)
3
3
  end
@@ -12,6 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.extra_rdoc_files = ['LICENSE.md', 'README.md']
13
13
  gem.files = Dir['LICENSE.md', 'README.md', 'Rakefile', 'multi_json.gemspec', 'Gemfile', '.document', '.rspec', '.travis.yml' ,'spec/**/*', 'lib/**/*']
14
14
  gem.homepage = 'http://github.com/intridea/multi_json'
15
+ gem.licenses = ['MIT']
15
16
  gem.name = 'multi_json'
16
17
  gem.rdoc_options = ["--charset=UTF-8"]
17
18
  gem.require_paths = ['lib']
@@ -61,6 +61,11 @@ shared_examples_for "an adapter" do |adapter|
61
61
  it 'dumps custom objects which implement as_json' do
62
62
  expect(MultiJson.dump(TimeWithZone.new)).to eq "\"2005-02-01T15:15:10Z\""
63
63
  end
64
+
65
+ it 'allow to dump JSON values' do
66
+ expect(MultiJson.dump(42)).to eq '42'
67
+ end
68
+
64
69
  end
65
70
 
66
71
  describe '.load' do
@@ -109,5 +114,10 @@ shared_examples_for "an adapter" do |adapter|
109
114
  expect(MultiJson.load(example, :symbolize_keys => true)).to eq expected
110
115
  end
111
116
  end
117
+
118
+ it 'allow to load JSON values' do
119
+ expect(MultiJson.load('42')).to eq 42
120
+ end
121
+
112
122
  end
113
123
  end
@@ -41,6 +41,8 @@ describe 'MultiJson' do
41
41
  end
42
42
 
43
43
  it 'defaults to the best available gem' do
44
+ # Clear cache variable already set by previous tests
45
+ MultiJson.send(:remove_instance_variable, :@adapter)
44
46
  unless jruby?
45
47
  require 'oj'
46
48
  expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::Oj'
metadata CHANGED
@@ -1,94 +1,98 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: multi_json
3
- version: !ruby/object:Gem::Version
4
- version: 1.3.7
3
+ version: !ruby/object:Gem::Version
4
+ hash: 7
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 4
9
+ - 0
10
+ version: 1.4.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Michael Bleigh
9
14
  - Josh Kalderimis
10
15
  - Erik Michaels-Ober
11
16
  autorequire:
12
17
  bindir: bin
13
18
  cert_chain: []
14
- date: 2012-11-02 00:00:00.000000000 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2012-11-30 00:00:00 -08:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
17
24
  name: rake
18
- requirement: !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ~>
22
- - !ruby/object:Gem::Version
23
- version: '0.9'
24
- type: :development
25
25
  prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ~>
30
- - !ruby/object:Gem::Version
31
- version: '0.9'
32
- - !ruby/object:Gem::Dependency
33
- name: rdoc
34
- requirement: !ruby/object:Gem::Requirement
26
+ requirement: &id001 !ruby/object:Gem::Requirement
35
27
  none: false
36
- requirements:
28
+ requirements:
37
29
  - - ~>
38
- - !ruby/object:Gem::Version
39
- version: '3.9'
30
+ - !ruby/object:Gem::Version
31
+ hash: 25
32
+ segments:
33
+ - 0
34
+ - 9
35
+ version: "0.9"
40
36
  type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: rdoc
41
40
  prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '3.9'
48
- - !ruby/object:Gem::Dependency
49
- name: rspec
50
- requirement: !ruby/object:Gem::Requirement
41
+ requirement: &id002 !ruby/object:Gem::Requirement
51
42
  none: false
52
- requirements:
43
+ requirements:
53
44
  - - ~>
54
- - !ruby/object:Gem::Version
55
- version: '2.6'
45
+ - !ruby/object:Gem::Version
46
+ hash: 21
47
+ segments:
48
+ - 3
49
+ - 9
50
+ version: "3.9"
56
51
  type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
57
55
  prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
- requirements:
61
- - - ~>
62
- - !ruby/object:Gem::Version
63
- version: '2.6'
64
- - !ruby/object:Gem::Dependency
65
- name: simplecov
66
- requirement: !ruby/object:Gem::Requirement
56
+ requirement: &id003 !ruby/object:Gem::Requirement
67
57
  none: false
68
- requirements:
58
+ requirements:
69
59
  - - ~>
70
- - !ruby/object:Gem::Version
71
- version: '0.4'
60
+ - !ruby/object:Gem::Version
61
+ hash: 15
62
+ segments:
63
+ - 2
64
+ - 6
65
+ version: "2.6"
72
66
  type: :development
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: simplecov
73
70
  prerelease: false
74
- version_requirements: !ruby/object:Gem::Requirement
71
+ requirement: &id004 !ruby/object:Gem::Requirement
75
72
  none: false
76
- requirements:
73
+ requirements:
77
74
  - - ~>
78
- - !ruby/object:Gem::Version
79
- version: '0.4'
80
- description: A gem to provide easy switching between different JSON backends, including
81
- Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.
82
- email:
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ - 4
80
+ version: "0.4"
81
+ type: :development
82
+ version_requirements: *id004
83
+ description: A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.
84
+ email:
83
85
  - michael@intridea.com
84
86
  - josh.kalderimis@gmail.com
85
87
  - sferik@gmail.com
86
88
  executables: []
89
+
87
90
  extensions: []
88
- extra_rdoc_files:
91
+
92
+ extra_rdoc_files:
89
93
  - LICENSE.md
90
94
  - README.md
91
- files:
95
+ files:
92
96
  - LICENSE.md
93
97
  - README.md
94
98
  - Rakefile
@@ -109,35 +113,44 @@ files:
109
113
  - lib/multi_json/adapters/yajl.rb
110
114
  - lib/multi_json/vendor/okjson.rb
111
115
  - lib/multi_json/version.rb
112
- - lib/multi_json/version.rbc
113
116
  - lib/multi_json.rb
117
+ has_rdoc: true
114
118
  homepage: http://github.com/intridea/multi_json
115
- licenses: []
119
+ licenses:
120
+ - MIT
116
121
  post_install_message:
117
- rdoc_options:
122
+ rdoc_options:
118
123
  - --charset=UTF-8
119
- require_paths:
124
+ require_paths:
120
125
  - lib
121
- required_ruby_version: !ruby/object:Gem::Requirement
126
+ required_ruby_version: !ruby/object:Gem::Requirement
122
127
  none: false
123
- requirements:
124
- - - ! '>='
125
- - !ruby/object:Gem::Version
126
- version: '0'
127
- required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
136
  none: false
129
- requirements:
130
- - - ! '>='
131
- - !ruby/object:Gem::Version
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 23
141
+ segments:
142
+ - 1
143
+ - 3
144
+ - 6
132
145
  version: 1.3.6
133
146
  requirements: []
147
+
134
148
  rubyforge_project:
135
- rubygems_version: 1.8.23
149
+ rubygems_version: 1.6.2
136
150
  signing_key:
137
151
  specification_version: 3
138
152
  summary: A gem to provide swappable JSON backends.
139
- test_files:
153
+ test_files:
140
154
  - spec/adapter_shared_example.rb
141
155
  - spec/helper.rb
142
156
  - spec/multi_json_spec.rb
143
- has_rdoc:
@@ -1,180 +0,0 @@
1
- !RBIX
2
- 9595534255132031488
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 28
13
- 99
14
- 7
15
- 0
16
- 65
17
- 49
18
- 1
19
- 2
20
- 13
21
- 99
22
- 12
23
- 7
24
- 2
25
- 12
26
- 7
27
- 3
28
- 12
29
- 65
30
- 12
31
- 49
32
- 4
33
- 4
34
- 15
35
- 49
36
- 2
37
- 0
38
- 15
39
- 2
40
- 11
41
- I
42
- 6
43
- I
44
- 0
45
- I
46
- 0
47
- I
48
- 0
49
- n
50
- p
51
- 5
52
- x
53
- 9
54
- MultiJson
55
- x
56
- 11
57
- open_module
58
- x
59
- 15
60
- __module_init__
61
- M
62
- 1
63
- n
64
- n
65
- x
66
- 9
67
- MultiJson
68
- i
69
- 48
70
- 5
71
- 66
72
- 26
73
- 93
74
- 0
75
- 15
76
- 29
77
- 21
78
- 0
79
- 45
80
- 0
81
- 1
82
- 7
83
- 2
84
- 3
85
- 98
86
- 3
87
- 3
88
- 30
89
- 8
90
- 27
91
- 25
92
- 92
93
- 0
94
- 27
95
- 8
96
- 32
97
- 15
98
- 7
99
- 4
100
- 8
101
- 33
102
- 1
103
- 9
104
- 38
105
- 1
106
- 8
107
- 47
108
- 65
109
- 7
110
- 2
111
- 7
112
- 5
113
- 64
114
- 49
115
- 6
116
- 2
117
- 11
118
- I
119
- 4
120
- I
121
- 0
122
- I
123
- 0
124
- I
125
- 0
126
- n
127
- p
128
- 7
129
- x
130
- 9
131
- MultiJson
132
- n
133
- x
134
- 7
135
- VERSION
136
- x
137
- 22
138
- vm_const_defined_under
139
- s
140
- 8
141
- constant
142
- s
143
- 5
144
- 1.3.6
145
- x
146
- 9
147
- const_set
148
- p
149
- 5
150
- I
151
- 2
152
- I
153
- 2
154
- I
155
- 2f
156
- I
157
- 0
158
- I
159
- 30
160
- x
161
- 69
162
- /Users/sferik/Projects/Ruby/gems/multi_json/lib/multi_json/version.rb
163
- p
164
- 0
165
- x
166
- 13
167
- attach_method
168
- p
169
- 3
170
- I
171
- 0
172
- I
173
- 1
174
- I
175
- 1c
176
- x
177
- 69
178
- /Users/sferik/Projects/Ruby/gems/multi_json/lib/multi_json/version.rb
179
- p
180
- 0