Module: Castkit::DataObjectExtensions::Config::ClassMethods
- Defined in:
- lib/castkit/data_object_extensions/config.rb
Overview
Class-level configuration methods.
Instance Method Summary collapse
-
#ignore_blank(value = nil) ⇒ Boolean
Sets or retrieves whether to skip blank values (‘[]`, `{}`, `“”`, etc.) in output.
-
#ignore_nil(value = nil) ⇒ Boolean?
Sets or retrieves whether to skip ‘nil` values in output.
-
#ignore_unknown(value = nil) ⇒ void
Enables or disables ignoring unknown keys during deserialization.
-
#relaxed(warn_on_unknown: true) ⇒ Class
Returns a relaxed version of the current class with strict mode off.
-
#root(value = nil) ⇒ Symbol?
Sets or retrieves the root key to wrap the object under during (de)serialization.
-
#strict(value = nil) ⇒ Boolean
Sets or retrieves strict mode behavior.
-
#warn_on_unknown(value = nil) ⇒ Boolean?
Sets or retrieves whether to emit warnings when unknown keys are encountered.
Instance Method Details
#ignore_blank(value = nil) ⇒ Boolean
Sets or retrieves whether to skip blank values (‘[]`, `{}`, `“”`, etc.) in output.
Defaults to true unless explicitly set to false.
40 41 42 |
# File 'lib/castkit/data_object_extensions/config.rb', line 40 def ignore_blank(value = nil) @ignore_blank = value.nil? || value end |
#ignore_nil(value = nil) ⇒ Boolean?
Sets or retrieves whether to skip ‘nil` values in output.
30 31 32 |
# File 'lib/castkit/data_object_extensions/config.rb', line 30 def ignore_nil(value = nil) value.nil? ? @ignore_nil : (@ignore_nil = value) end |
#ignore_unknown(value = nil) ⇒ void
This method returns an undefined value.
Enables or disables ignoring unknown keys during deserialization.
This is the inverse of ‘strict`.
64 65 66 |
# File 'lib/castkit/data_object_extensions/config.rb', line 64 def ignore_unknown(value = nil) @strict = !value end |
#relaxed(warn_on_unknown: true) ⇒ Class
Returns a relaxed version of the current class with strict mode off.
Useful for tolerant parsing scenarios.
82 83 84 85 86 87 |
# File 'lib/castkit/data_object_extensions/config.rb', line 82 def relaxed(warn_on_unknown: true) klass = Class.new(self) klass.strict(false) klass.warn_on_unknown(warn_on_unknown) klass end |
#root(value = nil) ⇒ Symbol?
Sets or retrieves the root key to wrap the object under during (de)serialization.
21 22 23 24 |
# File 'lib/castkit/data_object_extensions/config.rb', line 21 def root(value = nil) @root = value.to_s.strip.to_sym if value @root end |
#strict(value = nil) ⇒ Boolean
Sets or retrieves strict mode behavior.
In strict mode, unknown keys during deserialization raise errors.
50 51 52 53 54 55 56 |
# File 'lib/castkit/data_object_extensions/config.rb', line 50 def strict(value = nil) if value.nil? @strict.nil? || @strict else @strict = value end end |
#warn_on_unknown(value = nil) ⇒ Boolean?
Sets or retrieves whether to emit warnings when unknown keys are encountered.
72 73 74 |
# File 'lib/castkit/data_object_extensions/config.rb', line 72 def warn_on_unknown(value = nil) value.nil? ? @warn_unknown_keys : (@warn_unknown_keys = value) end |