module Mingle::Codec::MingleCodecs

Public Class Methods

decode( codec, obj ) click to toggle source
# File lib/mingle/codec.rb, line 22
def decode( codec, obj )

    @@bgm.not_nil( codec, :codec )
    @@bgm.not_nil( obj, :obj )

    case obj

        when String then codec.from_buffer( obj )

        when IO, Tempfile
            data = BitGirder::Io.slurp_io( obj ) || ""
            decode( codec, data ) # recurse

        else 
            raise "Don't know how to decode obj #{obj} of type #{obj.class}"
    end
end
encode( codec, mv ) click to toggle source
# File lib/mingle/codec.rb, line 42
def encode( codec, mv )
 
    @@bgm.not_nil( codec, :codec )
    @@bgm.not_nil( mv, :mv )

    codec.as_buffer( mv )
end

Private Instance Methods

decode( codec, obj ) click to toggle source
# File lib/mingle/codec.rb, line 22
def decode( codec, obj )

    @@bgm.not_nil( codec, :codec )
    @@bgm.not_nil( obj, :obj )

    case obj

        when String then codec.from_buffer( obj )

        when IO, Tempfile
            data = BitGirder::Io.slurp_io( obj ) || ""
            decode( codec, data ) # recurse

        else 
            raise "Don't know how to decode obj #{obj} of type #{obj.class}"
    end
end
encode( codec, mv ) click to toggle source
# File lib/mingle/codec.rb, line 42
def encode( codec, mv )
 
    @@bgm.not_nil( codec, :codec )
    @@bgm.not_nil( mv, :mv )

    codec.as_buffer( mv )
end