Class: Ruflet::WireCodec
- Inherits:
-
Object
- Object
- Ruflet::WireCodec
- Defined in:
- lib/ruflet/server/wire_codec.rb
Defined Under Namespace
Classes: ByteReader
Constant Summary collapse
- PICKER_DATE_CONTROLS =
%w[CupertinoDatePicker DatePicker DateRangePicker].freeze
- PICKER_DATE_KEYS =
%w[current_date end_value first_date last_date start_value value].freeze
- PICKER_TIME_CONTROLS =
%w[TimePicker].freeze
- PICKER_TIME_KEYS =
%w[value].freeze
Class Method Summary collapse
Class Method Details
.pack(value, context = nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ruflet/server/wire_codec.rb', line 11 def pack(value, context = nil) case value when NilClass "\xc0".b when TrueClass "\xc3".b when FalseClass "\xc2".b when Integer pack_integer(value) when Float "\xcb".b + [value].pack("G") when String return pack_ext(1, normalize_date_ext(value)) if context == :date return pack_ext(2, normalize_time_ext(value)) if context == :time binary_string?(value) ? pack_binary(value) : pack_string(value) when Symbol pack_string(value.to_s) when Array pack_array(value, context) when Hash pack_map(value) else pack_string(value.to_s) end end |
.unpack(bytes) ⇒ Object
39 40 41 42 |
# File 'lib/ruflet/server/wire_codec.rb', line 39 def unpack(bytes) reader = ByteReader.new(bytes) read_value(reader) end |