Module: Veriform

Defined in:
lib/veriform.rb,
lib/veriform/zhash.rb,
lib/veriform/object.rb,
lib/veriform/parser.rb,
lib/veriform/varint.rb,
lib/veriform/decoder.rb,
lib/veriform/version.rb,
lib/veriform/exceptions.rb

Overview

Cryptographically verifiable data serialization format inspired by Protocol Buffers

Defined Under Namespace

Modules: Varint Classes: Decoder, Object, Parser, Zhash

Constant Summary collapse

VERSION =
"0.0.0"
Error =

Base class of all Veriform errors

Class.new(StandardError)
ParseError =

Generic parse error

Class.new(Error)
EncodingError =

Data is not in the correct character encoding

Class.new(ParseError)
TruncatedMessageError =

Unexpected end of input

Class.new(ParseError)
OversizeMessageError =

Message is larger than our maximum configured size

Class.new(ParseError)
DepthError =

Nested message structure is too deep

Class.new(ParseError)
StateError =

Parser is in the wrong state to perform the given task

Class.new(ParseError)
DuplicateFieldError =

Field repeated in message

Class.new(ParseError)

Class Method Summary collapse

Class Method Details

.parse(message) ⇒ Veriform::Object

Parse the given self-describing Veriform message

Parameters:

  • message (String)

    binary encoded Veriform message

Returns:



19
20
21
22
23
# File 'lib/veriform.rb', line 19

def self.parse(message)
  parser = Veriform::Parser.new(Veriform::Decoder.new)
  parser.parse(message)
  parser.finish
end