class Bare
Public Class Methods
Array(*opts)
click to toggle source
# File lib/bare-rb.rb, line 154 def self.Array(*opts) return BareTypes::Array.new(*opts) end
ArrayFixedLen(*opts)
click to toggle source
# File lib/bare-rb.rb, line 158 def self.ArrayFixedLen(*opts) return BareTypes::ArrayFixedLen.new(*opts) end
Bool()
click to toggle source
# File lib/bare-rb.rb, line 146 def self.Bool return BareTypes::Bool.new end
Data()
click to toggle source
# File lib/bare-rb.rb, line 138 def self.Data return BareTypes::Data.new end
DataFixedLen(*opts)
click to toggle source
# File lib/bare-rb.rb, line 134 def self.DataFixedLen(*opts) return BareTypes::DataFixedLen.new(*opts) end
Enum(*opts)
click to toggle source
# File lib/bare-rb.rb, line 162 def self.Enum(*opts) return BareTypes::Enum.new(*opts) end
F32()
click to toggle source
# File lib/bare-rb.rb, line 78 def self.F32 return BareTypes::F32.new end
F64()
click to toggle source
# File lib/bare-rb.rb, line 82 def self.F64 return BareTypes::F64.new end
I16()
click to toggle source
# File lib/bare-rb.rb, line 110 def self.I16 return BareTypes::I16.new end
I32()
click to toggle source
# File lib/bare-rb.rb, line 114 def self.I32 return BareTypes::I32.new end
I64()
click to toggle source
# File lib/bare-rb.rb, line 118 def self.I64 return BareTypes::I64.new end
I8()
click to toggle source
# File lib/bare-rb.rb, line 106 def self.I8 return BareTypes::I8.new end
Int()
click to toggle source
Map(*opts)
click to toggle source
# File lib/bare-rb.rb, line 126 def self.Map(*opts) return BareTypes::Map.new(*opts) end
Optional(*opts)
click to toggle source
# File lib/bare-rb.rb, line 122 def self.Optional(*opts) return BareTypes::Optional.new(*opts) end
Schema(hash)
click to toggle source
# File lib/bare-rb.rb, line 34 def self.Schema(hash) Bare::Schema.new(hash) end
String()
click to toggle source
# File lib/bare-rb.rb, line 86 def self.String return BareTypes::String.new end
Struct(*opts)
click to toggle source
# File lib/bare-rb.rb, line 150 def self.Struct(*opts) return BareTypes::Struct.new(*opts) end
U16()
click to toggle source
# File lib/bare-rb.rb, line 94 def self.U16 return BareTypes::U16.new end
U32()
click to toggle source
# File lib/bare-rb.rb, line 98 def self.U32 return BareTypes::U32.new end
U64()
click to toggle source
# File lib/bare-rb.rb, line 102 def self.U64 return BareTypes::U64.new end
U8()
click to toggle source
# File lib/bare-rb.rb, line 90 def self.U8 return BareTypes::U8.new end
Uint()
click to toggle source
# File lib/bare-rb.rb, line 142 def self.Uint return BareTypes::Uint.new end
Union(*opts)
click to toggle source
# File lib/bare-rb.rb, line 130 def self.Union(*opts) return BareTypes::Union.new(*opts) end
Void()
click to toggle source
# File lib/bare-rb.rb, line 74 def self.Void return BareTypes::Void.new end
decode(msg, schema, type=nil)
click to toggle source
# File lib/bare-rb.rb, line 16 def self.decode(msg, schema, type=nil) if schema.is_a?(Bare::Schema) raise NoTypeProvided("To decode with a schema as opposed to a raw type you must specify which type in the same you want to encode as a symbol.\nBare.encode(msg, schema, :Type)") if type.nil? value, rest = schema[type].decode(msg) value else value, rest = schema.decode(msg) return value end end
encode(msg, schema, type=nil)
click to toggle source
# File lib/bare-rb.rb, line 7 def self.encode(msg, schema, type=nil) if schema.is_a?(Bare::Schema) raise NoTypeProvided("To encode with a schema as opposed to a raw type you must specify which type in the schema you want to encode as a symbol.\nBare.encode(msg, schema, :Type)") if type.nil? schema[type].encode(msg) else schema.encode(msg) end end
parse_schema(path)
click to toggle source
# File lib/bare-rb.rb, line 27 def self.parse_schema(path) # Hash of class names to BARE ASTs # Eg. types['Customer'] == Bare.i32 types = parser(lexer(path)) Bare.Schema(types) end