Class: Julewire::Core::Processing::RecordFieldTransform
- Inherits:
-
Object
- Object
- Julewire::Core::Processing::RecordFieldTransform
- Defined in:
- lib/julewire/core/processing/record_field_transform.rb
Class Method Summary collapse
- .container_key?(key) ⇒ Boolean
- .container_keys ⇒ Object
- .scalar_key?(key) ⇒ Boolean
- .scalar_keys ⇒ Object
Instance Method Summary collapse
- #call(record) ⇒ Object
-
#initialize(max_array_items: nil, max_depth: nil, max_hash_keys: nil, max_string_bytes: nil, preserve_top_level_keys: nil, track_paths: false) ⇒ RecordFieldTransform
constructor
A new instance of RecordFieldTransform.
Constructor Details
#initialize(max_array_items: nil, max_depth: nil, max_hash_keys: nil, max_string_bytes: nil, preserve_top_level_keys: nil, track_paths: false) ⇒ RecordFieldTransform
Returns a new instance of RecordFieldTransform.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/julewire/core/processing/record_field_transform.rb', line 26 def initialize( max_array_items: nil, max_depth: nil, max_hash_keys: nil, max_string_bytes: nil, preserve_top_level_keys: nil, track_paths: false ) @bounded_options = ( max_array_items: max_array_items, max_depth: max_depth, max_hash_keys: max_hash_keys, max_string_bytes: max_string_bytes ) @preserve_top_level_key_set = Array(preserve_top_level_keys).to_h { [it, true] } @track_paths = track_paths end |
Class Method Details
.container_key?(key) ⇒ Boolean
21 |
# File 'lib/julewire/core/processing/record_field_transform.rb', line 21 def container_key?(key) = CONTAINER_KEY_SET.key?(key) |
.container_keys ⇒ Object
17 |
# File 'lib/julewire/core/processing/record_field_transform.rb', line 17 def container_keys = CONTAINER_KEYS |
.scalar_key?(key) ⇒ Boolean
23 |
# File 'lib/julewire/core/processing/record_field_transform.rb', line 23 def scalar_key?(key) = SCALAR_KEY_SET.key?(key) |
.scalar_keys ⇒ Object
19 |
# File 'lib/julewire/core/processing/record_field_transform.rb', line 19 def scalar_keys = SCALAR_KEYS |
Instance Method Details
#call(record) ⇒ Object
44 45 46 47 48 |
# File 'lib/julewire/core/processing/record_field_transform.rb', line 44 def call(record, &) record.each_with_object({}) do |(key, value), result| result[key] = transform_record_field(key, value, record, &) end end |