ffi-radix_tree 0.1.5 → 0.1.6

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
- SHA1:
3
- metadata.gz: 0b481cbe2fe92e746154ef5d7f640eaa360b2ad1
4
- data.tar.gz: 2c31d231c98984ea3ac623c673fea32f3d9f49e3
2
+ SHA256:
3
+ metadata.gz: 24b341505b1ae9d77943d26730537193ce58cabe2877add54663f86436e7c0ee
4
+ data.tar.gz: 37d2b07791ed42c53e3ccad80e32fb3522bda0fd65d7a8a917a0576b7b6ced71
5
5
  SHA512:
6
- metadata.gz: 1569a95cd03b4dee2136b26175e83a3732572b7aaf30af692169d0831f4748fb103603de25414160b54f0a56b59c5b194e75d8ae819cdf58d3c032a5869a4c16
7
- data.tar.gz: bdc72d457259f6fb473f0690974fefbc10fb36ff121cfc6dd75c2ae8de517caf86e27ff7107af7d028244053b2ac514c856e22d296ed06794d634815e4096c6d
6
+ metadata.gz: 5244fc5c7d0828e4cc4907575dbca6b65265f8b35b02127d8bfb709dd057cadcd34a7ed5574d8ed23efe58b6b54f07e15b53a348f21413292f08a837579dcea3
7
+ data.tar.gz: 3d19a13ba263c5a147fa61be948db117adbf51582cfd3d9a368b27bc1f356ec34d62e37ea9cd08e54c7936d088ea8e448dbdd1086aacf9f525f63ec636116f11
@@ -83,15 +83,12 @@ module FFI
83
83
  attach_function :has_key, [:pointer, :string], :bool
84
84
 
85
85
  class Tree
86
- DESTROY_METHOD = ::FFI::RadixTree.method(:destroy)
87
- FREE_METHOD = ::FFI::RadixTree.method(:match_free)
88
-
89
86
  def self.destroy!(tree)
90
87
  tree.destroy! unless tree.nil?
91
88
  end
92
89
 
93
90
  def initialize
94
- @ptr = ::FFI::AutoPointer.new(::FFI::RadixTree.create, DESTROY_METHOD)
91
+ @ptr = ::FFI::RadixTree.create
95
92
  @first_character_present = {}
96
93
  end
97
94
 
@@ -116,7 +113,7 @@ module FFI
116
113
  def get(key)
117
114
  return nil unless @first_character_present[key[0]]
118
115
  byte_length = ::FFI::MemoryPointer.new(:int)
119
- byte_pointer = ::FFI::AutoPointer.new(::FFI::RadixTree.fetch(@ptr, key, byte_length), FREE_METHOD)
116
+ byte_pointer = ::FFI::RadixTree.fetch(@ptr, key, byte_length)
120
117
  bytesize = byte_length.read_int
121
118
  return nil if bytesize <= 0
122
119
  ::MessagePack.unpack(byte_pointer.get_bytes(0, bytesize))
@@ -127,7 +124,6 @@ module FFI
127
124
  def longest_prefix(string)
128
125
  return nil unless @first_character_present[string[0]]
129
126
  value, p_out = ::FFI::RadixTree.longest_prefix(@ptr, string)
130
- p_out = ::FFI::AutoPointer.new(p_out, FREE_METHOD) unless p_out.nil?
131
127
  value.force_encoding("UTF-8") unless value.nil?
132
128
  value
133
129
  ensure
@@ -137,7 +133,7 @@ module FFI
137
133
  def longest_prefix_value(string)
138
134
  return nil unless @first_character_present[string[0]]
139
135
  byte_length = ::FFI::MemoryPointer.new(:int)
140
- byte_pointer = ::FFI::AutoPointer.new(::FFI::RadixTree.longest_prefix_value(@ptr, string, byte_length), FREE_METHOD)
136
+ byte_pointer = ::FFI::RadixTree.longest_prefix_value(@ptr, string, byte_length)
141
137
  bytesize = byte_length.read_int
142
138
  return nil if bytesize <= 0
143
139
  ::MessagePack.unpack(byte_pointer.get_bytes(0, bytesize))
@@ -1,5 +1,5 @@
1
1
  module FFI
2
2
  module RadixTree
3
- VERSION = "0.1.5"
3
+ VERSION = "0.1.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,80 +1,80 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-radix_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Dewitt
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-18 00:00:00.000000000 Z
11
+ date: 2017-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: msgpack
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
20
- type: :runtime
19
+ name: msgpack
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: ffi
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0'
34
- type: :runtime
33
+ name: ffi
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
46
  version: '1.15'
48
- type: :development
47
+ name: bundler
49
48
  prerelease: false
49
+ type: :development
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.15'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
60
  version: '10.0'
62
- type: :development
61
+ name: rake
63
62
  prerelease: false
63
+ type: :development
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: minitest
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - "~>"
74
73
  - !ruby/object:Gem::Version
75
74
  version: '5.0'
76
- type: :development
75
+ name: minitest
77
76
  prerelease: false
77
+ type: :development
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
@@ -110,7 +110,7 @@ licenses:
110
110
  - MIT
111
111
  metadata:
112
112
  allowed_push_host: https://rubygems.org
113
- post_install_message:
113
+ post_install_message:
114
114
  rdoc_options: []
115
115
  require_paths:
116
116
  - lib
@@ -125,9 +125,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  requirements: []
128
- rubyforge_project:
129
- rubygems_version: 2.5.1
130
- signing_key:
128
+ rubyforge_project:
129
+ rubygems_version: 2.6.11
130
+ signing_key:
131
131
  specification_version: 4
132
132
  summary: radix tree implementation in c++ with FFI bindings
133
133
  test_files: []