module Stargate::Codec

Constants

DecodeError

Public: Raised when codec cannot decode given data string.

Error

Public: Base codec error.

UndefinedCodecError

Public: Raised when given codec is not registered.

Public Class Methods

[](content_type) click to toggle source

Public: Find codec for given content type.

# File lib/stargate/codec.rb, line 30
def self.[](content_type)
  codecs[content_type.to_s] or raise UndefinedCodecError, "No codec for type: #{content_type}"
end
codecs() click to toggle source

Internal: Returns all registered codecs.

# File lib/stargate/codec.rb, line 15
def self.codecs
  @@codecs
end
find_by_id(id) click to toggle source

Public: Find codec by given identifier.

# File lib/stargate/codec.rb, line 25
def self.find_by_id(id)
  codecs.values.find { |codec| codec.id == id.to_sym } or raise UndefinedCodecError, "No such codec: #{id}"
end
register(codec) click to toggle source

Public: Register new codec.

# File lib/stargate/codec.rb, line 20
def self.register(codec)
  codecs[codec.content_type.to_s] = codec
end