Sha256: ebac7765c50829e8d9218331395371eafba7bd5cb58872d8856f8200e6139bbe

Contents?: true

Size: 586 Bytes

Versions: 25

Compression:

Stored size: 586 Bytes

Contents

module ASIR
  # !SLIDE
  # Coder
  #
  # Define encoding and decoding for Messages and Results along a Transport.
  class Coder
    include Log, Initialization

    def encode obj
      _encode obj
    end

    def decode obj
      obj and _decode obj
    end

    # If this Coder is stateful, #prepare should return a new instance.
    def prepare; self; end

    # Coder subclasses:
    def _subclass_responsibility *args
      raise "subclass responsibility"
    end
    alias :_encode :_subclass_responsibility
    alias :_decode :_subclass_responsibility
  end
  # !SLIDE END
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
asir-1.2.11 lib/asir/coder.rb
asir-1.2.10 lib/asir/coder.rb
asir-1.2.9 lib/asir/coder.rb
asir-1.2.8 lib/asir/coder.rb
asir-1.2.7 lib/asir/coder.rb
asir-1.2.6 lib/asir/coder.rb
asir-1.2.5 lib/asir/coder.rb
asir-1.2.3 lib/asir/coder.rb
asir-1.2.2 lib/asir/coder.rb
asir-1.2.1 lib/asir/coder.rb
asir-1.2.0 lib/asir/coder.rb
asir-1.1.12 lib/asir/coder.rb
asir-1.1.11 lib/asir/coder.rb
asir-1.1.10 lib/asir/coder.rb
asir-1.1.9 lib/asir/coder.rb
asir-1.1.8 lib/asir/coder.rb
asir-1.1.7 lib/asir/coder.rb
asir-1.1.6 lib/asir/coder.rb
asir-1.1.5 lib/asir/coder.rb
asir-1.1.4 lib/asir/coder.rb