Class: DB::Postgres::Native::Strings

Inherits:
Object
  • Object
show all
Defined in:
lib/db/postgres/native/connection.rb

Overview

Helper class for managing FFI string arrays.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ Strings

Initialize a string array for FFI.



17
18
19
20
21
22
23
# File 'lib/db/postgres/native/connection.rb', line 17

def initialize(values)
  @array = FFI::MemoryPointer.new(:pointer, values.size + 1)
  @pointers = values.map do |value|
    FFI::MemoryPointer.from_string(value.to_s)
  end
  @array.write_array_of_pointer(@pointers)
end

Instance Attribute Details

#arrayObject (readonly)

Returns the value of attribute array.



26
27
28
# File 'lib/db/postgres/native/connection.rb', line 26

def array
  @array
end

#The FFI array pointer.(FFIarraypointer.) ⇒ Object (readonly)



26
# File 'lib/db/postgres/native/connection.rb', line 26

attr :array