Class: SchemaRegistry::Schema::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/schema_registry_client/schema/base.rb

Direct Known Subclasses

Avro, ProtoJsonSchema, Protobuf

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.schema_typeString

Returns:

  • (String)

Raises:



16
17
18
# File 'lib/schema_registry_client/schema/base.rb', line 16

def self.schema_type
  raise MissingImplementationError, "Subclasses must implement schema_type"
end

Instance Method Details

#decode(_stream, _schema_text) ⇒ Object

Parameters:

  • stream (StringIO)
  • schema_text (String)
  • registry (Object)

Returns:

  • (Object)

Raises:



31
32
33
# File 'lib/schema_registry_client/schema/base.rb', line 31

def decode(_stream, _schema_text)
  raise MissingImplementationError, "Subclasses must implement decode"
end

#dependencies(_message) ⇒ Hash<String, String>

Parameters:

  • message (Object)

Returns:

  • (Hash<String, String>)


37
38
39
# File 'lib/schema_registry_client/schema/base.rb', line 37

def dependencies(_message)
  {}
end

#encode(_message, _stream, schema_name: nil) ⇒ Object

Parameters:

  • message (Object)
  • stream (StringIO)
  • schema_name (String) (defaults to: nil)

Raises:



23
24
25
# File 'lib/schema_registry_client/schema/base.rb', line 23

def encode(_message, _stream, schema_name: nil)
  raise MissingImplementationError, "Subclasses must implement encode"
end

#schema_text(_message, schema_name: nil) ⇒ String

Parameters:

  • message (Object)
  • schema_name (String) (defaults to: nil)

Returns:

  • (String)

Raises:



11
12
13
# File 'lib/schema_registry_client/schema/base.rb', line 11

def schema_text(_message, schema_name: nil)
  raise MissingImplementationError, "Subclasses must implement schema_text"
end