dartsclone 0.3.0 → 0.3.1
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 +4 -4
- data/.github/workflows/build.yml +3 -5
- data/CHANGELOG.md +3 -0
- data/README.md +1 -1
- data/dartsclone.gemspec +2 -2
- data/ext/dartsclone/dartscloneext.hpp +1 -0
- data/ext/dartsclone/dummy.rb +93 -0
- data/lib/dartsclone/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0de9241630b790fea0794afe5ec48d7ac7335faae7c9d563ce42cdfe47670f43
|
4
|
+
data.tar.gz: 66dd871d41f3ba849c949093c02b6ac4613541e8ad81e062255a771955ec0988
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f696063913884d67ebdd20b51b4d49363537650c831b28d9a987d808d9cb3e239eeec95e2e0b4fed67ab94925ca37649383b4ff956e37141f9c12b3cd79ef33
|
7
|
+
data.tar.gz: f5ffe5cc13ee5560e258ecbb0ead2a14b0b96b09d7f286317d1514f5b01eb1dcca12fa1bd15dedb594bd5393eaa51c9e49ddc28ac2b4f87eba599fc8f181f505
|
data/.github/workflows/build.yml
CHANGED
@@ -12,11 +12,9 @@ jobs:
|
|
12
12
|
steps:
|
13
13
|
- uses: actions/checkout@v2
|
14
14
|
- name: Set up Ruby ${{ matrix.ruby }}
|
15
|
-
uses:
|
15
|
+
uses: ruby/setup-ruby@v1
|
16
16
|
with:
|
17
17
|
ruby-version: ${{ matrix.ruby }}
|
18
|
+
bundler-cache: true
|
18
19
|
- name: Build and test with Rake
|
19
|
-
run:
|
20
|
-
gem install --no-document bundler
|
21
|
-
bundle install --jobs 4 --retry 3
|
22
|
-
bundle exec rake
|
20
|
+
run: bundle exec rake
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
[](https://badge.fury.io/rb/dartsclone)
|
5
5
|
[](https://github.com/yoshoku/darts-clone.rb/blob/main/LICENSE.txt)
|
6
6
|
|
7
|
-
Darts-clone.rb
|
7
|
+
Darts-clone.rb provides Ruby bindings for the [Darts-clone](https://github.com/s-yata/darts-clone).
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
data/dartsclone.gemspec
CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.authors = ['yoshoku']
|
7
7
|
spec.email = ['yoshoku@outlook.com']
|
8
8
|
|
9
|
-
spec.summary = 'Ruby
|
10
|
-
spec.description = 'Darts-clone.rb
|
9
|
+
spec.summary = 'Ruby bindings for the Darts-clone.'
|
10
|
+
spec.description = 'Darts-clone.rb provides Ruby bindings for the Darts-clone.'
|
11
11
|
spec.homepage = 'https://github.com/yoshoku/darts-clone.rb'
|
12
12
|
spec.license = 'BSD-2-Clause'
|
13
13
|
|
@@ -11,6 +11,7 @@ class RbDoubleArray
|
|
11
11
|
public:
|
12
12
|
static VALUE double_array_alloc(VALUE self) {
|
13
13
|
Darts::DoubleArray* ptr = (Darts::DoubleArray*)ruby_xmalloc(sizeof(Darts::DoubleArray));
|
14
|
+
new (ptr) Darts::DoubleArray(); // dummy call to constructor for GC.
|
14
15
|
return TypedData_Wrap_Struct(self, &double_array_type, ptr);
|
15
16
|
};
|
16
17
|
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# This class is for yard.
|
2
|
+
|
3
|
+
# Darts-clone.rb is a Ruby binding for the Darts-clone.
|
4
|
+
module DartsClone
|
5
|
+
# The version of Darts-clone.rb you are using.
|
6
|
+
VERSION = '0.2.2'
|
7
|
+
|
8
|
+
# The version of Darts-clone that this gem is binding to.
|
9
|
+
DARTS_CLONE_VERSION = '0.32'
|
10
|
+
|
11
|
+
# DoubleArray is a class that implements double-array trie.
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# require 'dartsclone'
|
15
|
+
#
|
16
|
+
# da = DartsClone::DoubleArray.new
|
17
|
+
#
|
18
|
+
# keys = ['abc', 'abcd', 'abcde', 'bcd', 'cde']
|
19
|
+
# da.build(keys)
|
20
|
+
#
|
21
|
+
# p da.common_prefix_search('abcde')
|
22
|
+
# # => [["abc", "abcd", "abcde"], [0, 1, 2]]
|
23
|
+
#
|
24
|
+
class DoubleArray
|
25
|
+
# Create a new double-array trie.
|
26
|
+
def initialize; end
|
27
|
+
|
28
|
+
# Build index of double-array trie
|
29
|
+
#
|
30
|
+
# @param keys [Array<String>]
|
31
|
+
# @param values [Array<Integer>]
|
32
|
+
# @return [Boolean]
|
33
|
+
def build(keys, values: nil); end
|
34
|
+
|
35
|
+
# Open saved index.
|
36
|
+
#
|
37
|
+
# @param filename [String]
|
38
|
+
# @return [Boolean]
|
39
|
+
def open(filename); end
|
40
|
+
|
41
|
+
# Save index.
|
42
|
+
#
|
43
|
+
# @param filename [String]
|
44
|
+
# @param mode [String]
|
45
|
+
# @param offset [Integer]
|
46
|
+
# @return [Boolean]
|
47
|
+
def save(filename, mode: 'wb', offset: 0); end
|
48
|
+
|
49
|
+
# Dump array data.
|
50
|
+
#
|
51
|
+
# @return [String]
|
52
|
+
def get_array(); end
|
53
|
+
|
54
|
+
# Load array data.
|
55
|
+
#
|
56
|
+
# @param str [String]
|
57
|
+
def set_array(str); end
|
58
|
+
|
59
|
+
# Search with exact match
|
60
|
+
#
|
61
|
+
# @param key [String]
|
62
|
+
# @param length [Integer]
|
63
|
+
# @param node_pos [Integer]
|
64
|
+
def exact_match_search(key, length: 0, node_pos: 0); end
|
65
|
+
|
66
|
+
# Common prefix search.
|
67
|
+
#
|
68
|
+
# @param key [String]
|
69
|
+
def common_prefix_search(key, max_num_results: nil, length: 0, node_pos: 0); end
|
70
|
+
|
71
|
+
# Traverse trie.
|
72
|
+
#
|
73
|
+
# @param key [String]
|
74
|
+
def traverse(key, node_pos: nil, key_pos: nil, length: nil); end
|
75
|
+
|
76
|
+
# size
|
77
|
+
# @return [Integer]
|
78
|
+
def unit_size(); end
|
79
|
+
|
80
|
+
# unit size
|
81
|
+
# @return [Integer]
|
82
|
+
def size(); end
|
83
|
+
|
84
|
+
# total size
|
85
|
+
# @return [Integer]
|
86
|
+
def total_size(); end
|
87
|
+
|
88
|
+
# clear trie
|
89
|
+
# @return [Nil]
|
90
|
+
def clear(); end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
data/lib/dartsclone/version.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dartsclone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yoshoku
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description: Darts-clone.rb
|
13
|
+
description: Darts-clone.rb provides Ruby bindings for the Darts-clone.
|
14
14
|
email:
|
15
15
|
- yoshoku@outlook.com
|
16
16
|
executables: []
|
@@ -31,6 +31,7 @@ files:
|
|
31
31
|
- dartsclone.gemspec
|
32
32
|
- ext/dartsclone/dartscloneext.cpp
|
33
33
|
- ext/dartsclone/dartscloneext.hpp
|
34
|
+
- ext/dartsclone/dummy.rb
|
34
35
|
- ext/dartsclone/extconf.rb
|
35
36
|
- ext/dartsclone/src/COPYING.md
|
36
37
|
- ext/dartsclone/src/darts.h
|
@@ -45,7 +46,7 @@ metadata:
|
|
45
46
|
source_code_uri: https://github.com/yoshoku/darts-clone.rb
|
46
47
|
changelog_uri: https://github.com/yoshoku/darts-clone.rb/blob/master/CHANGELOG.md
|
47
48
|
documentation_uri: https://github.com/yoshoku/darts-clone.rb#usage
|
48
|
-
post_install_message:
|
49
|
+
post_install_message:
|
49
50
|
rdoc_options: []
|
50
51
|
require_paths:
|
51
52
|
- lib
|
@@ -60,8 +61,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
60
61
|
- !ruby/object:Gem::Version
|
61
62
|
version: '0'
|
62
63
|
requirements: []
|
63
|
-
rubygems_version: 3.
|
64
|
-
signing_key:
|
64
|
+
rubygems_version: 3.2.22
|
65
|
+
signing_key:
|
65
66
|
specification_version: 4
|
66
|
-
summary: Ruby
|
67
|
+
summary: Ruby bindings for the Darts-clone.
|
67
68
|
test_files: []
|