Module: Fusion::CLI::Encoder

Extended by:
Encoder
Included in:
Encoder
Defined in:
lib/fusion/cli/encoder.rb

Instance Method Summary collapse

Instance Method Details

#encode(wire_pair, mode:) ⇒ Object

WirePair -> String Doesn’t support mode ‘:unix`



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/fusion/cli/encoder.rb', line 12

def encode(wire_pair, mode:)
  case mode
  when :bang
    bang = wire_pair.status.zero? ? "" : "!"
    "#{bang}#{wire_pair.data}"
  when :array
    "[#{wire_pair.status},#{wire_pair.data}]"
  when :object
    key = wire_pair.status.zero? ? "value" : "error"
    "{\"#{key}\":#{wire_pair.data}}"
  else
    raise Unreachable, "Unknown output mode #{mode}"
  end
end