db-postgres 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd023d0017d7e3a5b859c0072e9c6073b1d2f0d33a80e2602e3b10ab3fc1774a
4
- data.tar.gz: 4df334b62fb206775e8d18bc2e9431d240098b84f67a4c6c8d04e3f1ee88f24b
3
+ metadata.gz: 980a129963d8ce756170656f2e073d4b975f87e04e6aa569c1f1948366c589a9
4
+ data.tar.gz: fc22f9f7c50b5d7c10c1315dc2d23d626b0d289e4140ef0e1ffb7a2e6901a7e1
5
5
  SHA512:
6
- metadata.gz: d473ba682e4fc823c5945d05d6265d5c31a11edbc4946de842ee2ab42f6867fc6c1cdd01130374f11e9605f6ab4655bb7ad7232cf3655925c9ee20cf3beb9a3c
7
- data.tar.gz: 54c94c483f379b1b1d601c2d3ce8c86477a4a7395b73b196b1a546e166413393aa4534d28f8a77a3de3179b43f386791b4798fd4fcda170adeaf8720e9da3482
6
+ metadata.gz: 4ba0a3ae436070fb5ab0f3f99214020673febac6ca812cbef5cdc7db4248124c1d1b33f4c1a27777ad7c7a49ded638b10bed3ddf5c5e7bb3318f943253169da3
7
+ data.tar.gz: b415829ef5e86f15d0a65ffcc467738d4ca8c1ea623292869636772a2c1bff686f0a9351f30392554ce560275b8d82bf5dd22d5b101d7e5ae8ecd11083db7355
Binary file
@@ -25,16 +25,16 @@ require_relative '../error'
25
25
  module DB
26
26
  module Postgres
27
27
  module Native
28
- def self.array_of_strings(values)
29
- array = FFI::MemoryPointer.new(:pointer, values.size + 1)
30
-
31
- pointers = values.map do |value|
32
- FFI::MemoryPointer.from_string(value.to_s)
28
+ class Strings
29
+ def initialize(values)
30
+ @array = FFI::MemoryPointer.new(:pointer, values.size + 1)
31
+ @pointers = values.map do |value|
32
+ FFI::MemoryPointer.from_string(value.to_s)
33
+ end
34
+ @array.write_array_of_pointer(@pointers)
33
35
  end
34
36
 
35
- array.write_array_of_pointer(pointers)
36
-
37
- return array
37
+ attr :array
38
38
  end
39
39
 
40
40
  attach_function :connect_start_params, :PQconnectStartParams, [:pointer, :pointer, :int], :pointer
@@ -109,10 +109,10 @@ module DB
109
109
  options[:dbname] = database
110
110
  end
111
111
 
112
- keys = Native.array_of_strings(options.keys)
113
- values = Native.array_of_strings(options.values)
112
+ keys = Strings.new(options.keys)
113
+ values = Strings.new(options.values)
114
114
 
115
- pointer = Native.connect_start_params(keys, values, 0)
115
+ pointer = Native.connect_start_params(keys.array, values.array, 0)
116
116
  Native.set_nonblocking(pointer, 1)
117
117
 
118
118
  io = wrapper.new(Native.socket(pointer), "r+")
@@ -20,6 +20,6 @@
20
20
 
21
21
  module DB
22
22
  module Postgres
23
- VERSION = "0.2.2"
23
+ VERSION = "0.2.3"
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db-postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-07 00:00:00.000000000 Z
11
+ date: 2020-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -114,6 +114,7 @@ executables: []
114
114
  extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
+ - lib/.DS_Store
117
118
  - lib/db/postgres.rb
118
119
  - lib/db/postgres/adapter.rb
119
120
  - lib/db/postgres/connection.rb