aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/lib/action_web_service/vendor/ws/encoding/abstract.rb
blob: 257c7d0993f437aa74358e3ca9825f297f9fa14f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module WS
  module Encoding
    # Encoders operate on _foreign_ objects. That is, Ruby object
    # instances that are the _marshaling format specific_ representation
    # of objects. In other words, objects that have not yet been marshaled, but
    # are in protocol-specific form (such as an AST or DOM element), and not
    # native Ruby form.
    class AbstractEncoding
      def encode_rpc_call(method_name, params)
        raise NotImplementedError
      end

      def decode_rpc_call(obj)
        raise NotImplementedError
      end

      def encode_rpc_response(method_name, return_value)
        raise NotImplementedError
      end

      def decode_rpc_response(obj)
        raise NotImplementedError
      end
    end
  end
end