legion-json 1.3.3 → 1.3.4

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: 146255daac57d06fdfd426b87e9cb988c9f35c68747aea6c655321c1bc3ce659
4
- data.tar.gz: 18032881bc265b5620501287996dca66f973afe189fe5ac083a80768e6cd10f5
3
+ metadata.gz: 3d5b1714516d77478efaf9e3fcbc1b1ee189f065650037a6f2edcdb816d5d280
4
+ data.tar.gz: b88137b2d325685ef2cd5f4fa97af6a2d8f61c7cc2246042fc690b8fa5012297
5
5
  SHA512:
6
- metadata.gz: a7419675fbc1fece2e03c96ae8a59644ea14fa875860602b158c0a4ee018d07b900b6473a9fd22c760419da2974c54dafb06c757403a0e384cbe48425d77599f
7
- data.tar.gz: 6df0e9811b73fc81cbfcb8ea5a49c8bd16b448f4df964f96b11292f2a2bc5033f6882f1fedcf2d7ac684151c1689e8f57d525828fdb83f5212802b8bfdfcacab
6
+ metadata.gz: 2c4061e8dccf00da6efc8bd8cd97c79599d537e2269c2e1ab8581b603c009c0758116a2f6619030c155a5374495a459ffc31611bea2c766b0f9b3b8292e93ecb
7
+ data.tar.gz: 69bb10a36ffd5386a8467fa6a5a0e8ce474060316a3c16e1fc3f098587ce067d1ded6d02849a1e17d034539efbf2bdd51c36b5992e5e9bd5781b105de3f088ef
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
+ *.gem
4
5
  /_yardoc/
5
6
  /coverage/
6
7
  /doc/
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Legion::JSON
2
2
 
3
+ ## [1.3.4] - 2026-11-09
4
+
5
+ ### Fixed
6
+ - Preserve `Legion::JSON.fast_generate(object)` with JSON 3.x, which removed `JSON.fast_generate`: use `JSON.generate` when available and fall back to `JSON.fast_generate` otherwise.
7
+
3
8
  ## [1.3.3] - 2026-04-14
4
9
 
5
10
  ### Fixed
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  JSON wrapper module for the [LegionIO](https://github.com/LegionIO/LegionIO) framework. Wraps `multi_json` and `json_pure` to provide a consistent JSON interface across all Legion gems and extensions. Automatically uses faster C-extension JSON gems (like `oj`) when available.
4
4
 
5
- **Version**: 1.3.2
5
+ **Version**: 1.3.4
6
6
 
7
7
  ## Installation
8
8
 
@@ -33,7 +33,7 @@ Legion::JSON.dump(pretty: true, foo: 'bar') # keyword form — objec
33
33
  Legion::JSON.parse(json_string) # ::JSON.parse with symbolize_names: true
34
34
  Legion::JSON.generate(object) # ::JSON.generate
35
35
  Legion::JSON.pretty_generate(object) # ::JSON.pretty_generate
36
- Legion::JSON.fast_generate(object) # ::JSON.fast_generate
36
+ Legion::JSON.fast_generate(object) # ::JSON.generate when available; otherwise ::JSON.fast_generate
37
37
  ```
38
38
 
39
39
  Keys are symbolized by default, unlike standard Ruby JSON. `load` delegates to `MultiJson`; `parse`/`generate`/`pretty_generate`/`fast_generate` delegate to Ruby's stdlib `::JSON`.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module Json
5
- VERSION = '1.3.3'
5
+ VERSION = '1.3.4'
6
6
  end
7
7
  end
data/lib/legion/json.rb CHANGED
@@ -46,6 +46,8 @@ module Legion
46
46
  module_function :pretty_generate
47
47
 
48
48
  def fast_generate(object)
49
+ return ::JSON.generate(object) if ::JSON.respond_to?(:generate)
50
+
49
51
  ::JSON.fast_generate(object)
50
52
  end
51
53
  module_function :fast_generate
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-json
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity