Module: Traildb
- Extended by:
- FFI::Library
- Defined in:
- lib/traildb.rb,
lib/traildb/version.rb
Defined Under Namespace
Classes: TdbEvent, TdbOptValue, TrailDB, TrailDBConstructor, TrailDBCursor, TrailDBError, TrailDBEventFilter
Constant Summary
collapse
- TDB_OPT_EVENT_FILTER =
101
- VERSION =
"0.1.1"
Class Method Summary
collapse
Class Method Details
.tdb_item_field(item) ⇒ Object
112
113
114
115
116
117
118
|
# File 'lib/traildb.rb', line 112
def self.tdb_item_field(item)
if tdb_item_is32(item)
tdb_item_field32(item)
else
(item & 127) | (((item >> 8) & 127) << 7)
end
end
|
.tdb_item_field32(item) ⇒ Object
109
|
# File 'lib/traildb.rb', line 109
def self.tdb_item_field32(item); item & 127 end
|
.tdb_item_is32(item) ⇒ Object
108
|
# File 'lib/traildb.rb', line 108
def self.tdb_item_is32(item); (item & 128) == 0 end
|
.tdb_item_val(item) ⇒ Object
120
121
122
123
124
125
126
|
# File 'lib/traildb.rb', line 120
def self.tdb_item_val(item)
if tdb_item_is32(item)
tdb_item_val32(item)
else
item >> 16
end
end
|
.tdb_item_val32(item) ⇒ Object
110
|
# File 'lib/traildb.rb', line 110
def self.tdb_item_val32(item); (item >> 8) & 4294967295 end
|
.uuid_hex(uuid) ⇒ Object
92
93
94
95
96
97
98
|
# File 'lib/traildb.rb', line 92
def self.uuid_hex(uuid)
if uuid.is_a? FFI::Pointer
ary = uuid.read_bytes(16).unpack("NnnnnN")
uuid = "%08x-%04x-%04x-%04x-%04x%08x" % ary
end
uuid
end
|
.uuid_raw(uuid) ⇒ Object
100
101
102
103
104
105
106
|
# File 'lib/traildb.rb', line 100
def self.uuid_raw(uuid)
if uuid.is_a? String
ptr = FFI::MemoryPointer.new(:uint8, 16)
uuid = ptr.write_bytes(uuid.scan(/[0-9a-f]{2}/).map{|x|x.to_i(16)}.pack('C*'))
end
uuid
end
|