relaton-cli 2.0.0.pre.alpha.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78896ea0b02f8711ab4eea67a5d74909137f45a42a7d0785c68ae8db0756dcbb
4
- data.tar.gz: e8db97ab8e36651275173de95ce88d59979931b8fc44d6d563a23736201c86c6
3
+ metadata.gz: 9a74dcf8bc054794be91d307961b16cbce89a5c50f65017d860f3b7285ae42f7
4
+ data.tar.gz: 203f569850de31efcf171c0bca5c258902a5fa2a508650975b42e35a26c3ad60
5
5
  SHA512:
6
- metadata.gz: f4c4f1ea97e4ce93484b2923529645c828cc9d5c0b9bf0e4563b554a962bb7e11e58491ed589155366257410f33868df6e56db83bebb5d4ebef082e35c78c895
7
- data.tar.gz: b89d0b397640e7fe3bd7a4866559723ee1aebf85390be44ad09b756e2f51722972b29b8c0382a74e605d464afe15daa7c8e9f016063cc16a9e8e95f5babe0b0b
6
+ metadata.gz: 2cfe7334ac5094494c013f04c321f199bfd11767147ad98436d45b433da72dbca6f007633f4ac74b483e082998f4a63492936d10f1bb5674b4c377bfc1749800
7
+ data.tar.gz: 579de614d12c86c36bd48059dac1979c2d7d3184e8499253e8b9cc421d1d4ecdc4c936682d4376c650e460f0e2655889d313086d859d7d4518b5f377b15a6451
@@ -7,6 +7,7 @@ on:
7
7
  branches: [ master, main ]
8
8
  tags: [ v* ]
9
9
  pull_request:
10
+ workflow_dispatch:
10
11
 
11
12
  jobs:
12
13
  rake:
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in gemspec
4
4
  gemspec
5
5
 
6
+
7
+
6
8
  gem "byebug", "~> 11.0"
7
9
  gem "equivalent-xml", "~> 0.6"
8
10
  gem "pry"
@@ -1,10 +1,13 @@
1
- # require "forwardable"
1
+ require "set"
2
2
 
3
3
  module Relaton
4
4
  class FullTextSeatch
5
- # extend Forwardable
6
-
7
- # def_delegators :@collections, :<<
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
- # m + results(col, rgx)
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
- res = result item.instance_variable_get(var)
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
@@ -1,5 +1,5 @@
1
1
  module Relaton
2
2
  module Cli
3
- VERSION = "2.0.0-alpha.1".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  end
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.0.0-alpha.1"
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.0.0.pre.alpha.1
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: 1980-01-02 00:00:00.000000000 Z
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.0.0.pre.alpha.1
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.0.0.pre.alpha.1
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.6.9
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: []