Class: Ruact::Flight::Serializer
- Inherits:
-
Object
- Object
- Ruact::Flight::Serializer
- Defined in:
- lib/ruact/flight/serializer.rb
Overview
Converts a Ruby value/element tree into Flight wire format rows. All methods return the inline representation of the value (what goes inside a parent row). Side effects go into request queues.
Constant Summary collapse
- LARGE_TEXT_THRESHOLD =
Strings larger than this are outlined into their own T row.
1024
Instance Method Summary collapse
-
#initialize(request) ⇒ Serializer
constructor
A new instance of Serializer.
-
#serialize_model(value) ⇒ Object
Entry point.
Constructor Details
#initialize(request) ⇒ Serializer
Returns a new instance of Serializer.
15 16 17 |
# File 'lib/ruact/flight/serializer.rb', line 15 def initialize(request) @request = request end |
Instance Method Details
#serialize_model(value) ⇒ Object
Entry point. Returns a value safe to pass to JSON.generate.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ruact/flight/serializer.rb', line 20 def serialize_model(value) case value when NilClass nil when TrueClass, FalseClass value when Integer serialize_integer(value) when Float serialize_float(value) when String serialize_string(value) when Symbol serialize_symbol(value) when Time, DateTime serialize_date(value) when ClientReference serialize_client_reference(value) when SuspenseElement serialize_suspense(value) when ReactElement serialize_element(value) when Array serialize_array(value) when Hash serialize_hash(value) else serialize_unknown(value) end end |