Class: TigerBeetle::Converters::QueryFilter

Inherits:
Base
  • Object
show all
Defined in:
lib/tigerbeetle/converters/query_filter.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

from_native, to_native

Class Method Details

.native_typeObject



10
11
12
# File 'lib/tigerbeetle/converters/query_filter.rb', line 10

def self.native_type
  TBClient::QueryFilter
end

Instance Method Details

#from_native(ptr) ⇒ Object



14
15
16
# File 'lib/tigerbeetle/converters/query_filter.rb', line 14

def from_native(ptr)
  raise 'Unexpected conversion of a native type to QueryFilter'
end

#to_native(ptr, value) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/tigerbeetle/converters/query_filter.rb', line 18

def to_native(ptr, value)
  TBClient::QueryFilter.new(ptr).tap do |result|
    Converters::UInt128.to_native(result[:user_data_128].to_ptr, value.user_data_128)
    result[:user_data_64] = value.user_data_64
    result[:user_data_32] = value.user_data_32
    result[:code] = value.code
    result[:ledger] = value.ledger
    Converters::Time.to_native(ptr + result.offset_of(:timestamp_min), value.timestamp_min || 0)
    Converters::Time.to_native(ptr + result.offset_of(:timestamp_max), value.timestamp_max || 0)
    result[:limit] = value.limit
    result[:flags] = value.flags
  end
end