Class: Chronos::Core::SafeSerializer
- Inherits:
-
Object
- Object
- Chronos::Core::SafeSerializer
- Defined in:
- lib/chronos/core/safe_serializer.rb
Overview
Converts bounded Ruby structures to values accepted by JSON.generate.
Constant Summary collapse
- DEFAULTS =
{ :max_depth => 10, :max_keys => 100, :max_items => 100, :max_string_bytes => 8192, :max_nodes => 2_000 }.freeze
Instance Method Summary collapse
- #call(value, overrides = {}) ⇒ Object
-
#initialize(options = {}) ⇒ SafeSerializer
constructor
A new instance of SafeSerializer.
Constructor Details
#initialize(options = {}) ⇒ SafeSerializer
Returns a new instance of SafeSerializer.
24 25 26 |
# File 'lib/chronos/core/safe_serializer.rb', line 24 def initialize( = {}) @options = DEFAULTS.merge().freeze end |
Instance Method Details
#call(value, overrides = {}) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/chronos/core/safe_serializer.rb', line 28 def call(value, overrides = {}) settings = @options.merge(overrides) normalize(value, 0, {}, {:nodes => 0}, settings) rescue StandardError "<unserializable value>" end |