Class: Sigma::TokenId

Inherits:
Object
  • Object
show all
Extended by:
FFI::Library
Defined in:
lib/sigma/token.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#pointerObject

Returns the value of attribute pointer.



59
60
61
# File 'lib/sigma/token.rb', line 59

def pointer
  @pointer
end

Class Method Details

.from_base16_encoded_string(str) ⇒ Object



72
73
74
75
76
77
78
# File 'lib/sigma/token.rb', line 72

def self.from_base16_encoded_string(str)
  tid_ptr = FFI::MemoryPointer.new(:pointer)
  error = ergo_lib_token_id_from_str(str, tid_ptr)
  Util.check_error!(error)

  init(tid_ptr)
end

.with_box_id(box_id) ⇒ Object



65
66
67
68
69
70
# File 'lib/sigma/token.rb', line 65

def self.with_box_id(box_id)
  tid_ptr = FFI::MemoryPointer.new(:pointer)
  ergo_lib_token_id_from_box_id(box_id.pointer, tid_ptr)

  init(tid_ptr)
end

.with_raw_pointer(tid_pointer) ⇒ Object



61
62
63
# File 'lib/sigma/token.rb', line 61

def self.with_raw_pointer(tid_pointer)
  init(tid_pointer)
end

Instance Method Details

#==(token_id_two) ⇒ Object



89
90
91
# File 'lib/sigma/token.rb', line 89

def ==(token_id_two)
  ergo_lib_token_id_eq(self.pointer, token_id_two.pointer)
end

#to_base16_encoded_stringObject



80
81
82
83
84
85
86
87
# File 'lib/sigma/token.rb', line 80

def to_base16_encoded_string
  s_ptr = FFI::MemoryPointer.new(:pointer, 1)
  ergo_lib_token_id_to_str(self.pointer, s_ptr)
  s_ptr = s_ptr.read_pointer()
  str = s_ptr.read_string().force_encoding('UTF-8')
  Util.ergo_lib_delete_string(s_ptr)
  str
end