gnfinder 0.11.0 → 0.15.4
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/.rubocop.yml +1 -1
- data/CHANGELOG.md +23 -1
- data/README.md +4 -4
- data/gnfinder.gemspec +6 -6
- data/lib/gnfinder/client.rb +39 -31
- data/lib/gnfinder/version.rb +1 -1
- data/lib/gnfinder.rb +3 -2
- data/lib/hash.rb +170 -0
- metadata +30 -31
- data/lib/protob_pb.rb +0 -112
- data/lib/protob_services_pb.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b44ef459356568026904e4b42664ab39b3b7cfef043c33e62d95c47f7081ec7b
|
4
|
+
data.tar.gz: 5da9930ce9d03c4184b51055a6a17d5d63510246460a742b768b56d940f6f536
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d37282d56d4d41d913f74765d86b6ea38ccb8ececcd957a672bf1296fb3dfb5fb50a373fb64f4e0c981cfd658eb884a4eb6179434e82c7b619cd54c8dcf21f0
|
7
|
+
data.tar.gz: 27ac046cd874aa9a099d44290d818d61d85282e9bd10f3fb384c37293ace1dd4f50b47f2693ee2220b46c4980535d7a8936b29c01c3ca597cf577ad3ffd0f91a
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
+
## [v0.15.4]
|
6
|
+
|
7
|
+
- Add [#14]: Compatibility with gnfider v0.15.4, switching to REST API.
|
8
|
+
|
5
9
|
## [v0.2.0]
|
6
10
|
|
7
11
|
- Compatibility with gnfinder v0.7.0
|
@@ -29,10 +33,28 @@
|
|
29
33
|
|
30
34
|
This document follows [changelog guidelines]
|
31
35
|
|
36
|
+
[v0.15.4]: https://github.com/GlobalNamesArchitecture/gnfinder/compare/v0.1.0...v0.15.4
|
37
|
+
[v0.2.0]: https://github.com/GlobalNamesArchitecture/gnfinder/compare/v0.1.3...v0.2.0
|
38
|
+
[v0.1.3]: https://github.com/GlobalNamesArchitecture/gnfinder/compare/v0.1.2...v0.1.3
|
39
|
+
[v0.1.2]: https://github.com/GlobalNamesArchitecture/gnfinder/compare/v0.1.1...v0.1.2
|
32
40
|
[v0.1.1]: https://github.com/GlobalNamesArchitecture/gnfinder/compare/v0.1.0...v0.1.1
|
33
41
|
[v0.1.0]: https://github.com/GlobalNamesArchitecture/gnfinder/tree/v0.1.0
|
34
42
|
|
35
|
-
[#
|
43
|
+
[#20]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/20
|
44
|
+
[#19]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/19
|
45
|
+
[#18]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/18
|
46
|
+
[#17]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/17
|
47
|
+
[#16]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/16
|
48
|
+
[#15]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/15
|
49
|
+
[#14]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/14
|
50
|
+
[#13]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/13
|
51
|
+
[#12]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/12
|
52
|
+
[#11]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/11
|
53
|
+
[#10]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/10
|
54
|
+
[#9]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/9
|
55
|
+
[#8]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/8
|
56
|
+
[#7]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/7
|
57
|
+
[#6]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/6
|
36
58
|
[#5]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/5
|
37
59
|
[#4]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/4
|
38
60
|
[#3]: https://github.com/GlobalNamesArchitecture/gnfinder/issues/3
|
data/README.md
CHANGED
@@ -159,16 +159,16 @@ res = gf.find_names(txt, verification: true, sources: [1, 4, 179])
|
|
159
159
|
### Combination of parameters.
|
160
160
|
|
161
161
|
It is possible to combine parameters. However if a parameter makes no sense in
|
162
|
-
a particular context
|
162
|
+
a particular context it is silently ignored.
|
163
163
|
|
164
164
|
```ruby
|
165
165
|
# Runs Bayes' algorithms using English training set, runs verification and
|
166
166
|
# returns matched results for 3 data-sources if they are available.
|
167
|
-
res = gf.find_names(txt, language: eng, verification: true,
|
167
|
+
res = gf.find_names(txt, language: 'eng', verification: true,
|
168
168
|
sources: [1, 4, 179])
|
169
169
|
|
170
170
|
# Ignores `sources:` settings, because `with_verification` is not set to `true`
|
171
|
-
res = gf.find_names(txt, language: eng, sources: [1, 4, 179])
|
171
|
+
res = gf.find_names(txt, language: 'eng', sources: [1, 4, 179])
|
172
172
|
```
|
173
173
|
|
174
174
|
## Development
|
@@ -214,4 +214,4 @@ bundle exec rspec
|
|
214
214
|
[client]: https://github.com/GlobalNamesArchitecture/gnfinder/blob/master/lib/gnfinder/client.rb
|
215
215
|
[data-source list]: http://index.globalnames.org/datasource
|
216
216
|
[proto file]: https://github.com/GlobalNamesArchitecture/gnfinder/blob/master/lib/protob_pb.rb
|
217
|
-
[tests]: https://github.com/GlobalNamesArchitecture/gnfinder/blob/master/spec/lib/client_spec.rb
|
217
|
+
[tests]: https://github.com/GlobalNamesArchitecture/gnfinder/blob/master/spec/lib/client_spec.rb
|
data/gnfinder.gemspec
CHANGED
@@ -20,12 +20,12 @@ Gem::Specification.new do |gem|
|
|
20
20
|
.reject { |f| f.match(%r{^(test|spec|features)/}) }
|
21
21
|
|
22
22
|
gem.require_paths = ['lib']
|
23
|
-
gem.required_ruby_version = '~>
|
24
|
-
gem.add_dependency '
|
25
|
-
gem.
|
26
|
-
gem.add_development_dependency 'bundler', '~> 2.1'
|
23
|
+
gem.required_ruby_version = '~> 3.0'
|
24
|
+
gem.add_dependency 'rest-client', '~> 2.1'
|
25
|
+
gem.add_development_dependency 'bundler', '~> 2.2'
|
27
26
|
gem.add_development_dependency 'byebug', '~> 11.1'
|
28
27
|
gem.add_development_dependency 'rake', '~> 13.0'
|
29
|
-
gem.add_development_dependency 'rspec', '~> 3.
|
30
|
-
gem.add_development_dependency 'rubocop', '~>
|
28
|
+
gem.add_development_dependency 'rspec', '~> 3.10'
|
29
|
+
gem.add_development_dependency 'rubocop', '~> 1.20'
|
30
|
+
gem.add_development_dependency 'solargraph', '~> 0.43'
|
31
31
|
end
|
data/lib/gnfinder/client.rb
CHANGED
@@ -1,62 +1,70 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Gnfinder
|
4
|
-
GNFINDER_MIN_VERSION = 'v0.11.0'
|
5
|
-
|
6
4
|
# Gnfinder::Client connects to gnfinder server
|
7
5
|
class Client
|
8
|
-
def initialize(host = '
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
raise 'gRPC server of gnfinder should be at least ' \
|
15
|
-
' #{GNFINDER_MIN_VERSION}.\n Download latest version from ' \
|
16
|
-
'https://github.com/gnames/gnfinder/releases/latest.'
|
17
|
-
end
|
18
|
-
|
19
|
-
def good_gnfinder_version(version, min_version)
|
20
|
-
min_ver = min_version[1..].split('.').map(&:to_i)
|
21
|
-
ver = version[1..].split('.').map(&:to_i)
|
22
|
-
return true if ver[0] > min_ver[0] || ver[1] > min_ver[1]
|
23
|
-
|
24
|
-
return true if ver[2] >= min_ver[2]
|
25
|
-
|
26
|
-
false
|
6
|
+
def initialize(host = 'https://gnfinder.globalnames.org', port = '')
|
7
|
+
api_path = '/api/v1'
|
8
|
+
url = host + api_path
|
9
|
+
url = "#{host}:#{port}#{api_path}" if port.to_s != ''
|
10
|
+
@site = RestClient::Resource.new(url, read_timeout: 60)
|
11
|
+
@port = port
|
27
12
|
end
|
28
13
|
|
29
14
|
def gnfinder_version
|
30
|
-
@
|
15
|
+
resp = @site['/version'].get
|
16
|
+
ver = JSON.parse(resp.body, symbolize_names: true)
|
17
|
+
OpenStruct.new(ver)
|
31
18
|
end
|
32
19
|
|
33
20
|
def ping
|
34
|
-
@
|
21
|
+
@site['/ping'].get.body
|
35
22
|
end
|
36
23
|
|
37
24
|
# rubocop:disable all
|
38
25
|
def find_names(text, opts = {})
|
39
26
|
if text.to_s.strip == ''
|
40
|
-
return
|
27
|
+
return to_open_struct({ "names": [] })
|
41
28
|
end
|
42
29
|
|
43
30
|
params = { text: text }
|
44
|
-
params[:
|
31
|
+
params[:noBayes] = true if opts[:no_bayes]
|
32
|
+
params[:oddsDetails] = true if opts[:odds_details]
|
45
33
|
params[:language] = opts[:language] if opts[:language].to_s.strip != ''
|
46
|
-
|
47
|
-
|
34
|
+
|
35
|
+
if opts[:words_around] && opts[:words_around] > 0
|
36
|
+
params[:wordsAround] = opts[:words_around]
|
48
37
|
end
|
38
|
+
|
49
39
|
params[:verification] = true if opts[:verification]
|
40
|
+
|
50
41
|
if opts[:sources] && !opts[:sources].empty?
|
51
42
|
params[:sources] = opts[:sources]
|
52
43
|
end
|
53
44
|
|
54
|
-
|
55
|
-
|
45
|
+
res = @site['find'].post params.to_json, {content_type: :json, accept: :json}
|
46
|
+
output = JSON.parse(res.body)
|
47
|
+
res = output["metadata"]
|
48
|
+
res["names"] = output["names"] || []
|
49
|
+
res = res.deep_transform_keys(&:underscore)
|
50
|
+
if res["names"].nil?
|
51
|
+
res["names"] = []
|
56
52
|
end
|
57
|
-
|
58
|
-
@stub.find_names(Protob::Params.new(params))
|
53
|
+
to_open_struct(res)
|
59
54
|
end
|
60
55
|
# rubocop:enable all
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def to_open_struct(obj)
|
60
|
+
case obj
|
61
|
+
when Hash
|
62
|
+
OpenStruct.new(obj.transform_values { |val| to_open_struct(val) })
|
63
|
+
when Array
|
64
|
+
obj.map { |o| to_open_struct(o) }
|
65
|
+
else # Assumed to be a primitive value
|
66
|
+
obj
|
67
|
+
end
|
68
|
+
end
|
61
69
|
end
|
62
70
|
end
|
data/lib/gnfinder/version.rb
CHANGED
data/lib/gnfinder.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'rest-client'
|
4
|
+
require 'json'
|
5
|
+
require_relative 'hash'
|
3
6
|
require_relative 'gnfinder/version'
|
4
|
-
require_relative 'protob_pb.rb'
|
5
|
-
require_relative 'protob_services_pb.rb'
|
6
7
|
require_relative 'gnfinder/client'
|
7
8
|
|
8
9
|
# Gnfinder is a namespace module for gndinfer gem.
|
data/lib/hash.rb
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Monkey patch for underscores.
|
4
|
+
class String
|
5
|
+
def underscore
|
6
|
+
gsub(/::/, '/')
|
7
|
+
.gsub(/([a-z\d])([A-Z])/) do
|
8
|
+
"#{Regexp.last_match(1)}_#{Regexp.last_match(2)}"
|
9
|
+
end
|
10
|
+
.downcase
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# Hash monkey patches from ActiveSupport
|
15
|
+
class Hash
|
16
|
+
# Returns a new hash with all keys converted to strings.
|
17
|
+
#
|
18
|
+
# hash = { name: 'Rob', age: '28' }
|
19
|
+
#
|
20
|
+
# hash.stringify_keys
|
21
|
+
# # => {"name"=>"Rob", "age"=>"28"}
|
22
|
+
def stringify_keys
|
23
|
+
transform_keys(&:to_s)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Destructively converts all keys to strings. Same as
|
27
|
+
# +stringify_keys+, but modifies +self+.
|
28
|
+
def stringify_keys!
|
29
|
+
transform_keys!(&:to_s)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Returns a new hash with all keys converted to symbols, as long as
|
33
|
+
# they respond to +to_sym+.
|
34
|
+
#
|
35
|
+
# hash = { 'name' => 'Rob', 'age' => '28' }
|
36
|
+
#
|
37
|
+
# hash.symbolize_keys
|
38
|
+
# # => {:name=>"Rob", :age=>"28"}
|
39
|
+
def symbolize_keys
|
40
|
+
transform_keys do |key|
|
41
|
+
key.to_sym
|
42
|
+
rescue StandardError
|
43
|
+
key
|
44
|
+
end
|
45
|
+
end
|
46
|
+
alias to_options symbolize_keys
|
47
|
+
|
48
|
+
# Destructively converts all keys to symbols, as long as they respond
|
49
|
+
# to +to_sym+. Same as +symbolize_keys+, but modifies +self+.
|
50
|
+
def symbolize_keys!
|
51
|
+
transform_keys! do |key|
|
52
|
+
key.to_sym
|
53
|
+
rescue StandardError
|
54
|
+
key
|
55
|
+
end
|
56
|
+
end
|
57
|
+
alias to_options! symbolize_keys!
|
58
|
+
|
59
|
+
# Validates all keys in a hash match <tt>*valid_keys</tt>, raising
|
60
|
+
# +ArgumentError+ on a mismatch.
|
61
|
+
#
|
62
|
+
# Note that keys are treated differently than HashWithIndifferentAccess,
|
63
|
+
# meaning that string and symbol keys will not match.
|
64
|
+
def assert_valid_keys(*valid_keys)
|
65
|
+
valid_keys.flatten!
|
66
|
+
each_key do |k|
|
67
|
+
unless valid_keys.include?(k)
|
68
|
+
raise ArgumentError, "Unknown key: #{k.inspect}. Valid keys are: #{valid_keys.map(&:inspect).join(', ')}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Returns a new hash with all keys converted by the block operation.
|
74
|
+
# This includes the keys from the root hash and from all
|
75
|
+
# nested hashes and arrays.
|
76
|
+
#
|
77
|
+
# hash = { person: { name: 'Rob', age: '28' } }
|
78
|
+
#
|
79
|
+
# hash.deep_transform_keys{ |key| key.to_s.upcase }
|
80
|
+
# # => {"PERSON"=>{"NAME"=>"Rob", "AGE"=>"28"}}
|
81
|
+
def deep_transform_keys(&block)
|
82
|
+
_deep_transform_keys_in_object(self, &block)
|
83
|
+
end
|
84
|
+
|
85
|
+
# Destructively converts all keys by using the block operation.
|
86
|
+
# This includes the keys from the root hash and from all
|
87
|
+
# nested hashes and arrays.
|
88
|
+
def deep_transform_keys!(&block)
|
89
|
+
_deep_transform_keys_in_object!(self, &block)
|
90
|
+
end
|
91
|
+
|
92
|
+
# Returns a new hash with all keys converted to strings.
|
93
|
+
# This includes the keys from the root hash and from all
|
94
|
+
# nested hashes and arrays.
|
95
|
+
#
|
96
|
+
# hash = { person: { name: 'Rob', age: '28' } }
|
97
|
+
#
|
98
|
+
# hash.deep_stringify_keys
|
99
|
+
# # => {"person"=>{"name"=>"Rob", "age"=>"28"}}
|
100
|
+
def deep_stringify_keys
|
101
|
+
deep_transform_keys(&:to_s)
|
102
|
+
end
|
103
|
+
|
104
|
+
# Destructively converts all keys to strings.
|
105
|
+
# This includes the keys from the root hash and from all
|
106
|
+
# nested hashes and arrays.
|
107
|
+
def deep_stringify_keys!
|
108
|
+
deep_transform_keys!(&:to_s)
|
109
|
+
end
|
110
|
+
|
111
|
+
# Returns a new hash with all keys converted to symbols, as long as
|
112
|
+
# they respond to +to_sym+. This includes the keys from the root hash
|
113
|
+
# and from all nested hashes and arrays.
|
114
|
+
#
|
115
|
+
# hash = { 'person' => { 'name' => 'Rob', 'age' => '28' } }
|
116
|
+
#
|
117
|
+
# hash.deep_symbolize_keys
|
118
|
+
# # => {:person=>{:name=>"Rob", :age=>"28"}}
|
119
|
+
def deep_symbolize_keys
|
120
|
+
deep_transform_keys do |key|
|
121
|
+
key.to_sym
|
122
|
+
rescue StandardError
|
123
|
+
key
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
# Destructively converts all keys to symbols, as long as they respond
|
128
|
+
# to +to_sym+. This includes the keys from the root hash and from all
|
129
|
+
# nested hashes and arrays.
|
130
|
+
def deep_symbolize_keys!
|
131
|
+
deep_transform_keys! do |key|
|
132
|
+
key.to_sym
|
133
|
+
rescue StandardError
|
134
|
+
key
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
private
|
139
|
+
|
140
|
+
# Support methods for deep transforming nested hashes and arrays.
|
141
|
+
def _deep_transform_keys_in_object(object, &block)
|
142
|
+
case object
|
143
|
+
when Hash
|
144
|
+
object.each_with_object(self.class.new) do |(key, value), result|
|
145
|
+
result[yield(key)] = _deep_transform_keys_in_object(value, &block)
|
146
|
+
end
|
147
|
+
when Array
|
148
|
+
object.map { |e| _deep_transform_keys_in_object(e, &block) }
|
149
|
+
else
|
150
|
+
object
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
# rubocop:disable all
|
155
|
+
def _deep_transform_keys_in_object!(object, &block)
|
156
|
+
case object
|
157
|
+
when Hash
|
158
|
+
object.each_key do |key|
|
159
|
+
value = object.delete(key)
|
160
|
+
object[yield(key)] = _deep_transform_keys_in_object!(value, &block)
|
161
|
+
end
|
162
|
+
object
|
163
|
+
when Array
|
164
|
+
object.map! { |e| _deep_transform_keys_in_object!(e, &block) }
|
165
|
+
else
|
166
|
+
object
|
167
|
+
end
|
168
|
+
end
|
169
|
+
# rubocop:enable all
|
170
|
+
end
|
metadata
CHANGED
@@ -1,113 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gnfinder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Mozzherin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '2.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
34
|
-
type: :
|
33
|
+
version: '2.2'
|
34
|
+
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: byebug
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '11.1'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '11.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '3.10'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '3.10'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rubocop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '1.20'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '1.20'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: solargraph
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
103
|
+
version: '0.43'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
110
|
+
version: '0.43'
|
111
111
|
description: |-
|
112
112
|
The gem searches for scientific names in texts using
|
113
113
|
gRPC server running gnfinder app written in Go language
|
@@ -128,13 +128,12 @@ files:
|
|
128
128
|
- lib/gnfinder.rb
|
129
129
|
- lib/gnfinder/client.rb
|
130
130
|
- lib/gnfinder/version.rb
|
131
|
-
- lib/
|
132
|
-
- lib/protob_services_pb.rb
|
131
|
+
- lib/hash.rb
|
133
132
|
homepage: http://github.com/GlobalNamesArchitecture/gnfinder
|
134
133
|
licenses:
|
135
134
|
- MIT
|
136
135
|
metadata: {}
|
137
|
-
post_install_message:
|
136
|
+
post_install_message:
|
138
137
|
rdoc_options: []
|
139
138
|
require_paths:
|
140
139
|
- lib
|
@@ -142,15 +141,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
142
141
|
requirements:
|
143
142
|
- - "~>"
|
144
143
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
144
|
+
version: '3.0'
|
146
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
146
|
requirements:
|
148
147
|
- - ">="
|
149
148
|
- !ruby/object:Gem::Version
|
150
149
|
version: '0'
|
151
150
|
requirements: []
|
152
|
-
rubygems_version: 3.
|
153
|
-
signing_key:
|
151
|
+
rubygems_version: 3.2.22
|
152
|
+
signing_key:
|
154
153
|
specification_version: 4
|
155
154
|
summary: Scientific names finder
|
156
155
|
test_files: []
|
data/lib/protob_pb.rb
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: protob.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
add_file("protob.proto", :syntax => :proto3) do
|
8
|
-
add_message "protob.Void" do
|
9
|
-
end
|
10
|
-
add_message "protob.Pong" do
|
11
|
-
optional :value, :string, 1
|
12
|
-
end
|
13
|
-
add_message "protob.Version" do
|
14
|
-
optional :version, :string, 1
|
15
|
-
optional :build, :string, 2
|
16
|
-
end
|
17
|
-
add_message "protob.Params" do
|
18
|
-
optional :text, :string, 1
|
19
|
-
optional :no_bayes, :bool, 2
|
20
|
-
optional :language, :string, 3
|
21
|
-
optional :detect_language, :bool, 4
|
22
|
-
optional :verification, :bool, 5
|
23
|
-
optional :tokens_around, :int32, 6
|
24
|
-
repeated :sources, :int32, 7
|
25
|
-
end
|
26
|
-
add_message "protob.Output" do
|
27
|
-
optional :date, :string, 1
|
28
|
-
optional :finder_version, :string, 2
|
29
|
-
repeated :approach, :enum, 3, "protob.Approach"
|
30
|
-
optional :tokens_around, :int32, 4
|
31
|
-
optional :language, :string, 5
|
32
|
-
optional :language_detected, :string, 6
|
33
|
-
optional :detect_language, :bool, 7
|
34
|
-
optional :total_tokens, :int32, 8
|
35
|
-
optional :total_candidates, :int32, 9
|
36
|
-
optional :total_names, :int32, 10
|
37
|
-
repeated :names, :message, 11, "protob.NameString"
|
38
|
-
end
|
39
|
-
add_message "protob.NameString" do
|
40
|
-
optional :cardinality, :int32, 1
|
41
|
-
optional :verbatim, :string, 3
|
42
|
-
optional :name, :string, 4
|
43
|
-
optional :odds, :float, 5
|
44
|
-
optional :annot_nomen, :string, 6
|
45
|
-
optional :annot_nomen_type, :enum, 7, "protob.AnnotNomenType"
|
46
|
-
optional :offset_start, :int32, 8
|
47
|
-
optional :offset_end, :int32, 9
|
48
|
-
repeated :words_before, :string, 10
|
49
|
-
repeated :words_after, :string, 11
|
50
|
-
optional :verification, :message, 12, "protob.Verification"
|
51
|
-
end
|
52
|
-
add_message "protob.Verification" do
|
53
|
-
optional :best_result, :message, 1, "protob.ResultData"
|
54
|
-
repeated :preferred_results, :message, 2, "protob.ResultData"
|
55
|
-
optional :data_sources_num, :int32, 3
|
56
|
-
optional :data_source_quality, :string, 4
|
57
|
-
optional :retries, :int32, 5
|
58
|
-
optional :error, :string, 6
|
59
|
-
end
|
60
|
-
add_message "protob.ResultData" do
|
61
|
-
optional :data_source_id, :int32, 1
|
62
|
-
optional :data_source_title, :string, 2
|
63
|
-
optional :taxon_id, :string, 3
|
64
|
-
optional :matched_name, :string, 4
|
65
|
-
optional :matched_cardinality, :int32, 5
|
66
|
-
optional :matched_canonical_simple, :string, 6
|
67
|
-
optional :matched_canonical_full, :string, 7
|
68
|
-
optional :current_name, :string, 8
|
69
|
-
optional :current_cardinality, :int32, 9
|
70
|
-
optional :current_canonical_simple, :string, 10
|
71
|
-
optional :current_canonical_full, :string, 11
|
72
|
-
optional :synonym, :bool, 12
|
73
|
-
optional :classification_path, :string, 13
|
74
|
-
optional :classification_rank, :string, 14
|
75
|
-
optional :classification_ids, :string, 15
|
76
|
-
optional :edit_distance, :int32, 16
|
77
|
-
optional :stem_edit_distance, :int32, 17
|
78
|
-
optional :match_type, :enum, 18, "protob.MatchType"
|
79
|
-
end
|
80
|
-
add_enum "protob.MatchType" do
|
81
|
-
value :NONE, 0
|
82
|
-
value :EXACT, 1
|
83
|
-
value :FUZZY, 2
|
84
|
-
value :PARTIAL_EXACT, 3
|
85
|
-
value :PARTIAL_FUZZY, 4
|
86
|
-
end
|
87
|
-
add_enum "protob.AnnotNomenType" do
|
88
|
-
value :NO_ANNOT, 0
|
89
|
-
value :SP_NOV, 1
|
90
|
-
value :COMB_NOV, 2
|
91
|
-
value :SUBSP_NOV, 3
|
92
|
-
end
|
93
|
-
add_enum "protob.Approach" do
|
94
|
-
value :HEURISTIC, 0
|
95
|
-
value :BAYES, 1
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
module Protob
|
101
|
-
Void = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Void").msgclass
|
102
|
-
Pong = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Pong").msgclass
|
103
|
-
Version = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Version").msgclass
|
104
|
-
Params = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Params").msgclass
|
105
|
-
Output = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Output").msgclass
|
106
|
-
NameString = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.NameString").msgclass
|
107
|
-
Verification = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Verification").msgclass
|
108
|
-
ResultData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.ResultData").msgclass
|
109
|
-
MatchType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.MatchType").enummodule
|
110
|
-
AnnotNomenType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.AnnotNomenType").enummodule
|
111
|
-
Approach = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("protob.Approach").enummodule
|
112
|
-
end
|
data/lib/protob_services_pb.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# Source: protob.proto for package 'protob'
|
3
|
-
|
4
|
-
require 'grpc'
|
5
|
-
require 'protob_pb'
|
6
|
-
|
7
|
-
module Protob
|
8
|
-
module GNFinder
|
9
|
-
class Service
|
10
|
-
|
11
|
-
include GRPC::GenericService
|
12
|
-
|
13
|
-
self.marshal_class_method = :encode
|
14
|
-
self.unmarshal_class_method = :decode
|
15
|
-
self.service_name = 'protob.GNFinder'
|
16
|
-
|
17
|
-
rpc :Ping, Void, Pong
|
18
|
-
rpc :Ver, Void, Version
|
19
|
-
rpc :FindNames, Params, Output
|
20
|
-
end
|
21
|
-
|
22
|
-
Stub = Service.rpc_stub_class
|
23
|
-
end
|
24
|
-
end
|