Class: Julewire::Core::Serialization::BoundedTransform
- Inherits:
-
BoundedTraversal
- Object
- BoundedTraversal
- Julewire::Core::Serialization::BoundedTransform
- Defined in:
- lib/julewire/core/serialization/bounded_transform.rb
Constant Summary collapse
Constants inherited from BoundedTraversal
Julewire::Core::Serialization::BoundedTraversal::DEFAULT_MAX_ARRAY_ITEMS, Julewire::Core::Serialization::BoundedTraversal::DEFAULT_MAX_DEPTH, Julewire::Core::Serialization::BoundedTraversal::DEFAULT_MAX_HASH_KEYS, Julewire::Core::Serialization::BoundedTraversal::DEFAULT_MAX_STRING_BYTES, Julewire::Core::Serialization::BoundedTraversal::MAX_DEPTH_VALUE, Julewire::Core::Serialization::BoundedTraversal::TRUNCATED_SUFFIX, Julewire::Core::Serialization::BoundedTraversal::TRUNCATION_METADATA_KEY
Class Method Summary collapse
Instance Method Summary collapse
- #call(value) ⇒ Object
-
#initialize(max_depth: DEFAULT_MAX_DEPTH, max_string_bytes: DEFAULT_MAX_STRING_BYTES, max_array_items: DEFAULT_MAX_ARRAY_ITEMS, max_hash_keys: DEFAULT_MAX_HASH_KEYS, max_depth_value: MAX_DEPTH_VALUE, truncation_key: TRUNCATION_METADATA_KEY.to_sym, track_paths: nil, &block) ⇒ BoundedTransform
constructor
A new instance of BoundedTransform.
Constructor Details
#initialize(max_depth: DEFAULT_MAX_DEPTH, max_string_bytes: DEFAULT_MAX_STRING_BYTES, max_array_items: DEFAULT_MAX_ARRAY_ITEMS, max_hash_keys: DEFAULT_MAX_HASH_KEYS, max_depth_value: MAX_DEPTH_VALUE, truncation_key: TRUNCATION_METADATA_KEY.to_sym, track_paths: nil, &block) ⇒ BoundedTransform
Returns a new instance of BoundedTransform.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/julewire/core/serialization/bounded_transform.rb', line 16 def initialize( max_depth: DEFAULT_MAX_DEPTH, max_string_bytes: DEFAULT_MAX_STRING_BYTES, max_array_items: DEFAULT_MAX_ARRAY_ITEMS, max_hash_keys: DEFAULT_MAX_HASH_KEYS, max_depth_value: MAX_DEPTH_VALUE, truncation_key: TRUNCATION_METADATA_KEY.to_sym, track_paths: nil, &block ) super( max_array_items: max_array_items, max_depth: max_depth, max_depth_value: max_depth_value, max_hash_keys: max_hash_keys, max_string_bytes: max_string_bytes, truncation_key: truncation_key ) @transform = block @prepare_values = !@transform.nil? @track_paths = @prepare_values && !track_paths.equal?(false) end |
Class Method Details
.call(value) ⇒ Object
11 12 13 |
# File 'lib/julewire/core/serialization/bounded_transform.rb', line 11 def call(value, **, &) new(**, &).call(value) end |
Instance Method Details
#call(value) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/julewire/core/serialization/bounded_transform.rb', line 39 def call(value) @root = value walk(value) ensure @root = nil end |