relaton-cli 2.0.0 → 2.1.0
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/Gemfile +2 -0
- data/lib/relaton/cli/full_text_search.rb +16 -9
- data/lib/relaton/cli/version.rb +1 -1
- data/relaton-cli.gemspec +1 -1
- metadata +9 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a74dcf8bc054794be91d307961b16cbce89a5c50f65017d860f3b7285ae42f7
|
|
4
|
+
data.tar.gz: 203f569850de31efcf171c0bca5c258902a5fa2a508650975b42e35a26c3ad60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2cfe7334ac5094494c013f04c321f199bfd11767147ad98436d45b433da72dbca6f007633f4ac74b483e082998f4a63492936d10f1bb5674b4c377bfc1749800
|
|
7
|
+
data.tar.gz: 579de614d12c86c36bd48059dac1979c2d7d3184e8499253e8b9cc421d1d4ecdc4c936682d4376c650e460f0e2655889d313086d859d7d4518b5f377b15a6451
|
data/Gemfile
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
require "set"
|
|
2
2
|
|
|
3
3
|
module Relaton
|
|
4
4
|
class FullTextSeatch
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
#
|
|
5
|
+
# Instance variables added by lutaml-model that form back-references
|
|
6
|
+
# (cycles) when a model is serialized. Skipping them keeps recursive
|
|
7
|
+
# traversal of a bibitem's object graph finite.
|
|
8
|
+
INTERNAL_IVARS = %i[
|
|
9
|
+
@using_default @lutaml_register @lutaml_parent @lutaml_root @register_records
|
|
10
|
+
].freeze
|
|
8
11
|
|
|
9
12
|
# @return Regexp
|
|
10
13
|
attr_reader :regex
|
|
@@ -19,8 +22,7 @@ module Relaton
|
|
|
19
22
|
def search(text)
|
|
20
23
|
@regex = %{(.*?)(.{0,20})(#{text})(.{0,20})(.*)}
|
|
21
24
|
@matches = @collection.items.reduce({}) do |m, item|
|
|
22
|
-
|
|
23
|
-
res = result item
|
|
25
|
+
res = result item, Set.new
|
|
24
26
|
m[item.id] = res if res.any?
|
|
25
27
|
m
|
|
26
28
|
end
|
|
@@ -58,19 +60,24 @@ module Relaton
|
|
|
58
60
|
end
|
|
59
61
|
|
|
60
62
|
# @param item [Relaton::Bibdata]
|
|
63
|
+
# @param seen [Set<Integer>] object_ids already visited on this path
|
|
61
64
|
# @return [Hash]
|
|
62
|
-
def result(item)
|
|
65
|
+
def result(item, seen)
|
|
63
66
|
if item.is_a? String
|
|
64
67
|
message $~ if item.match regex
|
|
65
68
|
elsif item.respond_to? :reduce
|
|
66
69
|
item.reduce([]) do |m, i|
|
|
67
|
-
res = result i
|
|
70
|
+
res = result i, seen
|
|
68
71
|
m << res if res && !res.empty?
|
|
69
72
|
m
|
|
70
73
|
end
|
|
71
74
|
else
|
|
75
|
+
return {} unless seen.add?(item.object_id)
|
|
76
|
+
|
|
72
77
|
item.instance_variables.reduce({}) do |m, var|
|
|
73
|
-
|
|
78
|
+
next m if INTERNAL_IVARS.include?(var)
|
|
79
|
+
|
|
80
|
+
res = result item.instance_variable_get(var), seen
|
|
74
81
|
m[var.to_s.tr(":@", "")] = res if res && !res.empty?
|
|
75
82
|
m
|
|
76
83
|
end
|
data/lib/relaton/cli/version.rb
CHANGED
data/relaton-cli.gemspec
CHANGED
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.required_ruby_version = Gem::Requirement.new(">= 3.2.0")
|
|
24
24
|
|
|
25
25
|
spec.add_runtime_dependency "liquid", "~> 5"
|
|
26
|
-
spec.add_runtime_dependency "relaton", "~> 2.
|
|
26
|
+
spec.add_runtime_dependency "relaton", "~> 2.1.0"
|
|
27
27
|
spec.add_runtime_dependency "thor"
|
|
28
28
|
spec.add_runtime_dependency "thor-hollaback"
|
|
29
29
|
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: relaton-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: exe
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-05-04 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: liquid
|
|
@@ -29,14 +30,14 @@ dependencies:
|
|
|
29
30
|
requirements:
|
|
30
31
|
- - "~>"
|
|
31
32
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 2.
|
|
33
|
+
version: 2.1.0
|
|
33
34
|
type: :runtime
|
|
34
35
|
prerelease: false
|
|
35
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
37
|
requirements:
|
|
37
38
|
- - "~>"
|
|
38
39
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 2.
|
|
40
|
+
version: 2.1.0
|
|
40
41
|
- !ruby/object:Gem::Dependency
|
|
41
42
|
name: thor
|
|
42
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,8 +87,8 @@ executables:
|
|
|
86
87
|
- relaton
|
|
87
88
|
extensions: []
|
|
88
89
|
extra_rdoc_files:
|
|
89
|
-
- LICENSE
|
|
90
90
|
- docs/README.adoc
|
|
91
|
+
- LICENSE
|
|
91
92
|
files:
|
|
92
93
|
- ".github/workflows/rake.yml"
|
|
93
94
|
- ".github/workflows/release.yml"
|
|
@@ -131,6 +132,7 @@ homepage: https://github.com/metanorma/relaton-cli
|
|
|
131
132
|
licenses:
|
|
132
133
|
- BSD-2-Clause
|
|
133
134
|
metadata: {}
|
|
135
|
+
post_install_message:
|
|
134
136
|
rdoc_options: []
|
|
135
137
|
require_paths:
|
|
136
138
|
- lib
|
|
@@ -145,7 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
145
147
|
- !ruby/object:Gem::Version
|
|
146
148
|
version: '0'
|
|
147
149
|
requirements: []
|
|
148
|
-
rubygems_version: 3.
|
|
150
|
+
rubygems_version: 3.5.22
|
|
151
|
+
signing_key:
|
|
149
152
|
specification_version: 4
|
|
150
153
|
summary: Relaton Command-line Interface
|
|
151
154
|
test_files: []
|