Module: OnyxCord::Internal::JSON
- Defined in:
- lib/onyxcord/internal/json.rb
Overview
Fast Oj-backed JSON wrapper providing compatibility with stdlib JSON methods.
Constant Summary collapse
- OJ_OPTIONS =
Default options for Oj. Kept local so that other libraries in the process are not affected by a global override.
{ mode: :compat, symbol_keys: false }.freeze
Class Method Summary collapse
-
.decode(data, **args) ⇒ Hash, ...
Decode a JSON string into a Ruby object.
-
.dump(data, **args) ⇒ Object
Alias dump to encode (Oj/JSON compatibility).
-
.encode(data, **args) ⇒ String
Encode a Ruby object as JSON.
-
.generate(data, **args) ⇒ Object
Alias generate to encode.
-
.load(data, **args) ⇒ Object
Alias load to decode (Oj/JSON compatibility).
-
.parse(data, **args) ⇒ Object
Alias parse to decode.
Class Method Details
.decode(data, **args) ⇒ Hash, ...
Decode a JSON string into a Ruby object.
22 23 24 |
# File 'lib/onyxcord/internal/json.rb', line 22 def decode(data, **args) Oj.load(data, **OJ_OPTIONS, **args) end |
.dump(data, **args) ⇒ Object
Alias dump to encode (Oj/JSON compatibility)
50 51 52 |
# File 'lib/onyxcord/internal/json.rb', line 50 def dump(data, **args) encode(data, **args) end |
.encode(data, **args) ⇒ String
Encode a Ruby object as JSON.
30 31 32 |
# File 'lib/onyxcord/internal/json.rb', line 30 def encode(data, **args) Oj.dump(data, **OJ_OPTIONS, **args) end |
.generate(data, **args) ⇒ Object
Alias generate to encode
40 41 42 |
# File 'lib/onyxcord/internal/json.rb', line 40 def generate(data, **args) encode(data, **args) end |
.load(data, **args) ⇒ Object
Alias load to decode (Oj/JSON compatibility)
45 46 47 |
# File 'lib/onyxcord/internal/json.rb', line 45 def load(data, **args) decode(data, **args) end |
.parse(data, **args) ⇒ Object
Alias parse to decode
35 36 37 |
# File 'lib/onyxcord/internal/json.rb', line 35 def parse(data, **args) decode(data, **args) end |