Class: CBOR::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/libcbor/cache.rb

Overview

Provides caching for simple values (true, false, nil)

Constant Summary collapse

@@bfr =
FFI::Buffer.new(:uchar, 1)

Class Method Summary collapse

Class Method Details

.falseString

Returns cached encoded false equivalent

Returns:

  • (String)

    The CBOR equivalent



31
32
33
# File 'lib/libcbor/cache.rb', line 31

def self.false
	@@false ||= get_bool(false)
end

.get_bool(val) ⇒ String

Returns encoded equivalent

Parameters:

  • +true+ (Bool)

    or false

Returns:

  • (String)

    The CBOR equivalent



10
11
12
# File 'lib/libcbor/cache.rb', line 10

def self.get_bool(val)
	@@bfr.get_bytes(0, LibCBOR.cbor_encode_bool(val, @@bfr, 1))
end

.get_nullString

Returns encoded null (nil) equivalent

Returns:

  • (String)

    The CBOR equivalent



17
18
19
# File 'lib/libcbor/cache.rb', line 17

def self.get_null
	@@bfr.get_bytes(0, LibCBOR.cbor_encode_null(@@bfr, 1))
end

.nilString

Returns cached encoded nil equivalent

Returns:

  • (String)

    The CBOR equivalent



38
39
40
# File 'lib/libcbor/cache.rb', line 38

def self.nil
	@@null ||= get_null
end

.trueString

Returns cached encoded true equivalent

Returns:

  • (String)

    The CBOR equivalent



24
25
26
# File 'lib/libcbor/cache.rb', line 24

def self.true
	@@true ||= get_bool(true)
end