oj 3.6.11 → 3.6.12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cef33c35dc056f48604161c781e420fcd13b54e2f674aa3f9722e1c8bc25cfc2
4
- data.tar.gz: 96425922ddda704b173f52fae3c897f1574b373784bf5cb5be18d8223f03bef0
3
+ metadata.gz: 3517ed09e956844a399f8986027f8990949bb7702c9e88a5b4fa4f2fc9d4eb07
4
+ data.tar.gz: 16292809c8dced3cfd7dd6cfb110d85c88256d74c08586e4c436f92cab8888dc
5
5
  SHA512:
6
- metadata.gz: b18e9dbf9b3fb6082210470e560384b1fe5547e35e615fc8717c23342d003ce2923de22d263ae37e708c080ba0d92f75d3be374d7197a49ec79ab619e677cdbe
7
- data.tar.gz: bb9c2884eff2f1e841b6a31339b2e19f92680309ea7042bb7b44bb6a31a4ba5f963106099ce2bb58e9705ec25d60dbe82149c009b830133e6569aa78745bfd3a
6
+ metadata.gz: bc24329317395830e448ec06373ff27458c33612ce6fec0b4a79515c63f43164afb82a093cdbae7a6d6244885f2df16da0fba449c63b283af814769b4ed78147
7
+ data.tar.gz: 10ff64b0f48d1962c26f213e92456de839b65ab595c2925890a1eabd590160be355674bde197e0d65f4de4e1c9d246c1ce1c12f1adedc3c2aca967b3fd339390
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # [![{}j](http://www.ohler.com/dev/images/oj_comet_64.svg)](http://www.ohler.com/oj) gem
2
2
 
3
- [![Build Status](https://img.shields.io/travis/ohler55/oj/master.svg)](http://travis-ci.org/ohler55/oj?branch=master) [![AppVeyor](https://img.shields.io/appveyor/ci/ohler55/oj/master.svg)](https://ci.appveyor.com/project/ohler55/oj) ![Gem](https://img.shields.io/gem/v/oj.svg) ![Gem](https://img.shields.io/gem/dt/oj.svg) [![SemVer compatibility](https://api.dependabot.com/badges/compatibility_score?dependency-name=oj&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=oj&package-manager=bundler&version-scheme=semver)
3
+ [![Build Status](https://img.shields.io/travis/ohler55/oj/master.svg)](http://travis-ci.org/ohler55/oj?branch=master) [![AppVeyor](https://img.shields.io/appveyor/ci/ohler55/oj/master.svg)](https://ci.appveyor.com/project/ohler55/oj) ![Gem](https://img.shields.io/gem/v/oj.svg) ![Gem](https://img.shields.io/gem/dt/oj.svg) [![SemVer compatibility](https://api.dependabot.com/badges/compatibility_score?dependency-name=oj&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=oj&package-manager=bundler&version-scheme=semver) [![TideLift](https://tidelift.com/badges/github/ohler55/oj)](https://tidelift.com/subscription/pkg/rubygems-oj?utm_source=rubygems-oj&utm_medium=referral&utm_campaign=readme)
4
4
 
5
5
  A *fast* JSON parser and Object marshaller as a Ruby gem.
6
6
 
@@ -40,6 +40,10 @@ or in Bundler:
40
40
  gem 'oj'
41
41
  ```
42
42
 
43
+ ## Support
44
+
45
+ [Get supported Oj with a Tidelift Subscription.](https://tidelift.com/subscription/pkg/rubygems-oj?utm_source=rubygems-oj&utm_medium=referral&utm_campaign=readme)
46
+
43
47
  ## Further Reading
44
48
 
45
49
  For more details on options, modes, advanced features, and more follow these
@@ -66,6 +66,7 @@ oj_str_writer_init(StrWriter sw, int buf_size) {
66
66
  sw->out.allocated = true;
67
67
  sw->out.cur = sw->out.buf;
68
68
  *sw->out.cur = '\0';
69
+ sw->out.circ_cache = NULL;
69
70
  sw->out.circ_cnt = 0;
70
71
  sw->out.hash_cnt = 0;
71
72
  sw->out.opts = &sw->opts;
@@ -75,6 +76,7 @@ oj_str_writer_init(StrWriter sw, int buf_size) {
75
76
  sw->out.argv = NULL;
76
77
  sw->out.caller = 0;
77
78
  sw->out.ropts = NULL;
79
+ sw->out.omit_nil = oj_default_options.dump_opts.omit_nil;
78
80
  }
79
81
 
80
82
  void
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Oj
3
3
  # Current version of the module.
4
- VERSION = '3.6.11'
4
+ VERSION = '3.6.12'
5
5
  end
@@ -6,53 +6,12 @@ $: << '../ext'
6
6
 
7
7
  require 'oj'
8
8
 
9
- Oj.default_options = {mode: :strict}
10
- json = Oj.dump({ aggregations: { hashtags: { buckets: Array.new(100) { { key: 'foo', count: 100 } } } } }, mode: :strict)
9
+ 10.times {
10
+ io = StringIO.new
11
+ w = Oj::StreamWriter.new(io)
12
+ w.push_array
13
+ child = {"id"=>"1", "name"=>"foo", "nilElement"=>nil}
14
+ w.push_value(child)
15
+ puts io.string
16
+ }
11
17
 
12
- def expect(a,b)
13
- puts "*** #{a} != #{b}" unless a == b
14
- end
15
-
16
- def dig(obj, *path)
17
- return obj if path.empty?
18
-
19
- if obj.is_a?(Array)
20
- obj.each { |v|
21
- r = dig(v, *path)
22
- return r unless r.nil?
23
- }
24
- end
25
- return nil unless obj.is_a?(Hash)
26
-
27
- dig(obj[path[0]], *path[1..-1])
28
- end
29
-
30
- 1000.times do |i|
31
- Oj::Doc.open(json) do |doc|
32
- # this always passes
33
- doc.each_child('/aggregations/hashtags/buckets') do |bucket|
34
- expect(bucket.fetch('key'), 'foo')
35
- expect(bucket.fetch('count'), 100)
36
- end
37
-
38
- # load any other json using Oj.load
39
- # this will pass
40
- other = Oj.load(json)
41
- dig(other, 'aggregations', 'hashtags', 'buckets').each do |bucket|
42
- expect(bucket.fetch('key'), 'foo')
43
- expect(bucket.fetch('count'), 100)
44
- end
45
- GC.start
46
- doc.each_child('/aggregations/hashtags/buckets') do |bucket|
47
- # This is where it fails!!!! It will be some other object (even an rspec matcher in some cases)
48
- expect(bucket.fetch('key'), 'foo')
49
- expect(bucket.fetch('count'), 100)
50
- end
51
-
52
- # this always passes if it gets this far
53
- dig(other, 'aggregations', 'hashtags', 'buckets').each do |bucket|
54
- expect(bucket.fetch('key'), 'foo')
55
- expect(bucket.fetch('count'), 100)
56
- end
57
- end
58
- end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oj
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.11
4
+ version: 3.6.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-26 00:00:00.000000000 Z
11
+ date: 2018-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler