Class: IknowParams::Serializer::Nullable
- Inherits:
-
IknowParams::Serializer
- Object
- IknowParams::Serializer
- IknowParams::Serializer::Nullable
- Defined in:
- lib/iknow_params/serializer/nullable.rb
Overview
Serialize a potentially nil application type to JSON types. Does not support fully rendering to/from a string.
Instance Attribute Summary collapse
-
#serializer ⇒ Object
readonly
Returns the value of attribute serializer.
Attributes inherited from IknowParams::Serializer
Instance Method Summary collapse
- #dump(val, json: false) ⇒ Object
-
#initialize(serializer) ⇒ Nullable
constructor
A new instance of Nullable.
- #json_value? ⇒ Boolean
- #load(val) ⇒ Object
- #matches_type?(val) ⇒ Boolean
Methods inherited from IknowParams::Serializer
for, for!, json_value?, #matches_type!, singleton
Constructor Details
#initialize(serializer) ⇒ Nullable
Returns a new instance of Nullable.
32 33 34 |
# File 'lib/iknow_params/serializer/nullable.rb', line 32 def initialize(serializer) @serializer = serializer end |
Instance Attribute Details
#serializer ⇒ Object (readonly)
Returns the value of attribute serializer.
6 7 8 |
# File 'lib/iknow_params/serializer/nullable.rb', line 6 def serializer @serializer end |
Instance Method Details
#dump(val, json: false) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/iknow_params/serializer/nullable.rb', line 16 def dump(val, json: false) if val.nil? nil else serializer.dump(val, json: json) end end |
#json_value? ⇒ Boolean
28 29 30 |
# File 'lib/iknow_params/serializer/nullable.rb', line 28 def json_value? true end |
#load(val) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/iknow_params/serializer/nullable.rb', line 8 def load(val) if val.nil? nil else serializer.load(val) end end |
#matches_type?(val) ⇒ Boolean
24 25 26 |
# File 'lib/iknow_params/serializer/nullable.rb', line 24 def matches_type?(val) val.nil? || super end |