oj 3.11.4 → 3.11.5

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: 9a35082bc326dc1a19a23f38686fd6b9694a552ee01e753adffada1eb95e6256
4
- data.tar.gz: 5af5d53ba213df16a42c9da06e2ddbff730102f7ec65d6428e54ca1f4fa4c89e
3
+ metadata.gz: 964a9272c141179cf6f61317e89bc8dab43184b0d143355dc2212b89f123ccad
4
+ data.tar.gz: 53a3b3cd773a87953cec71a649f491682b022c13d56ebcc4eb5653bc9cbb560e
5
5
  SHA512:
6
- metadata.gz: 611c9c0684e42ad403e184ee825e0d7d6e4a10b45ca3be52d160cbc2fec02afaa59bf492c6b5f2f06c79baebd63eb81c660497f40fe9af45348db0304946c0f8
7
- data.tar.gz: 30b597c8eb046ea774565f6453950d1d2202daa969d9017f16616cb7ee906e44caca4b35a9b56e8a387572521fe7e02d32e8b38f718538b3655e316660cb65c7
6
+ metadata.gz: 947dad8a5cfc4d5adb3efbd40218439c984ae6084ef304f6b3012e26e047438a03b6f149b7c224982fc8fd0a699b56fa0e6b9a174e8b00d6567dd911f601f227
7
+ data.tar.gz: 536b05addb483b631883ccfb9269c6cd93b3e988ea9845021be3e2383a708974ff4e63a9d64a1a76bd8a9934969c42aa16495eccd75e88b7cf4704f619e7b693
data/ext/oj/mimic_json.c CHANGED
@@ -19,7 +19,7 @@ VALUE oj_object_nl_sym;
19
19
  VALUE oj_space_before_sym;
20
20
  VALUE oj_space_sym;
21
21
 
22
- static VALUE state_class;
22
+ static VALUE state_class = Qundef;
23
23
 
24
24
  // mimic JSON documentation
25
25
 
@@ -389,6 +389,9 @@ static VALUE mimic_generate_core(int argc, VALUE *argv, Options copts) {
389
389
  } else {
390
390
  VALUE active_hack[1];
391
391
 
392
+ if (Qundef == state_class) {
393
+ oj_define_mimic_json(0, NULL, Qnil);
394
+ }
392
395
  active_hack[0] = rb_funcall(state_class, oj_new_id, 0);
393
396
  oj_dump_obj_to_json_using_params(*argv, copts, &out, 1, active_hack);
394
397
  }
@@ -476,6 +479,9 @@ oj_mimic_pretty_generate(int argc, VALUE *argv, VALUE self) {
476
479
  if (Qfalse == rb_funcall(h, oj_has_key_id, 1, oj_array_nl_sym)) {
477
480
  rb_hash_aset(h, oj_array_nl_sym, rb_str_new2("\n"));
478
481
  }
482
+ if (Qundef == state_class) {
483
+ oj_define_mimic_json(0, NULL, Qnil);
484
+ }
479
485
  rargs[1] = rb_funcall(state_class, oj_new_id, 1, h);
480
486
 
481
487
  copts.str_rx.head = NULL;
data/ext/oj/oj.c CHANGED
@@ -1610,7 +1610,8 @@ extern VALUE oj_define_mimic_json(int argc, VALUE *argv, VALUE self);
1610
1610
  *
1611
1611
  * Encode obj as a JSON String. The obj argument must be a Hash, Array, or
1612
1612
  * respond to to_h or to_json. Options other than those listed such as
1613
- * +:allow_nan+ or +:max_nesting+ are ignored.
1613
+ * +:allow_nan+ or +:max_nesting+ are ignored. Calling this method will call
1614
+ * Oj.mimic_JSON if it is not already called.
1614
1615
  *
1615
1616
  * - *obj* [_Object__|_Hash_|_Array_] object to convert to a JSON String
1616
1617
  * - *opts* [_Hash_] options
data/lib/oj/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Oj
3
3
  # Current version of the module.
4
- VERSION = '3.11.4'
4
+ VERSION = '3.11.5'
5
5
  end
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ $: << File.dirname(__FILE__)
5
+ $oj_dir = File.dirname(File.expand_path(File.dirname(__FILE__)))
6
+ %w(lib ext).each do |dir|
7
+ $: << File.join($oj_dir, dir)
8
+ end
9
+
10
+ require 'minitest'
11
+ require 'minitest/autorun'
12
+ require 'oj'
13
+
14
+ class Generator < Minitest::Test
15
+
16
+ def test_before
17
+ json = Oj.generate({})
18
+ assert_equal("{}", json)
19
+ end
20
+
21
+ 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.11.4
4
+ version: 3.11.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-14 00:00:00.000000000 Z
11
+ date: 2021-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -240,6 +240,7 @@ files:
240
240
  - test/test_fast.rb
241
241
  - test/test_file.rb
242
242
  - test/test_gc.rb
243
+ - test/test_generate.rb
243
244
  - test/test_hash.rb
244
245
  - test/test_integer_range.rb
245
246
  - test/test_null.rb
@@ -364,6 +365,7 @@ test_files:
364
365
  - test/test_fast.rb
365
366
  - test/test_file.rb
366
367
  - test/test_gc.rb
368
+ - test/test_generate.rb
367
369
  - test/test_hash.rb
368
370
  - test/test_integer_range.rb
369
371
  - test/test_null.rb