relaton-render 1.0.2 → 1.0.3
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/lib/relaton/render/general/render.rb +18 -2
- data/lib/relaton/render/parse/parse_id.rb +2 -1
- data/lib/relaton/render/template/template.rb +7 -2
- data/lib/relaton/render/version.rb +1 -1
- data/lib/relaton-render.rb +0 -1
- data/relaton-render.gemspec +5 -4
- metadata +42 -29
- data/lib/relaton/render/utils/utils.rb +0 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 59b793b2241dd48d9b20f015798de7b1a8ec90fbfb5ec9c72b62668c0031f25e
|
|
4
|
+
data.tar.gz: f7dbd1c10347b24a9384cd5fb3d93fd4b8369d3880b4babd6aa765b0d12480a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f8121638021e74fe1d63ab87921d56b807c89d7f3d00ba4d11fc2b70d5442078f524cfae724b5b8669f48d5036eef50891c60a20cd3a842c132e0c301a9b249c
|
|
7
|
+
data.tar.gz: 0ee0d7ed68bfed31bff88f79001e615f51d2459b32940c8b33b9fa7d91114955b75b7282fbd58e9cddbb7c8d2983f831c582f600753140019100b12e5bc48f4e
|
|
@@ -5,20 +5,23 @@ require "yaml"
|
|
|
5
5
|
require "liquid"
|
|
6
6
|
require "date"
|
|
7
7
|
require "relaton_bib"
|
|
8
|
+
require "metanorma-utils"
|
|
8
9
|
require_relative "../template/template"
|
|
9
10
|
require_relative "../../../isodoc/i18n"
|
|
10
11
|
|
|
11
12
|
module Relaton
|
|
12
13
|
module Render
|
|
13
14
|
class General
|
|
15
|
+
Hash.include ::Metanorma::Utils::Hash
|
|
16
|
+
Array.include ::Metanorma::Utils::Array
|
|
17
|
+
|
|
14
18
|
attr_reader :template, :journaltemplate, :seriestemplate, :nametemplate,
|
|
15
19
|
:authorcitetemplate, :extenttemplate, :sizetemplate,
|
|
16
20
|
:citetemplate, :citeshorttemplate, :lang, :script, :i18n,
|
|
17
21
|
:edition, :date, :fieldsklass, :dateklass, :config
|
|
18
22
|
|
|
19
23
|
def initialize(opt = {})
|
|
20
|
-
|
|
21
|
-
options = @config.merge(Utils::string_keys(opt))
|
|
24
|
+
options = init_options(opt)
|
|
22
25
|
@type = self.class.name.downcase.split("::").last
|
|
23
26
|
klass_initialize(options)
|
|
24
27
|
root_initalize(options)
|
|
@@ -27,6 +30,13 @@ module Relaton
|
|
|
27
30
|
init_misc
|
|
28
31
|
end
|
|
29
32
|
|
|
33
|
+
def init_options(opt)
|
|
34
|
+
opt = opt.stringify_all_keys
|
|
35
|
+
@override_file ||= opt["config"]
|
|
36
|
+
@config = config_override(read_config)
|
|
37
|
+
@config.merge(opt)
|
|
38
|
+
end
|
|
39
|
+
|
|
30
40
|
def init_misc
|
|
31
41
|
@semaphore = Mutex.new
|
|
32
42
|
@urlcache = {}
|
|
@@ -37,6 +47,12 @@ module Relaton
|
|
|
37
47
|
YAML.load_file(File.join(File.dirname(__FILE__), "config.yml"))
|
|
38
48
|
end
|
|
39
49
|
|
|
50
|
+
def config_override(ret)
|
|
51
|
+
new = {}
|
|
52
|
+
@override_file and new = YAML.load_file(@override_file)
|
|
53
|
+
ret.deep_merge(new)
|
|
54
|
+
end
|
|
55
|
+
|
|
40
56
|
def klass_initialize(options)
|
|
41
57
|
@nametemplateklass = Relaton::Render::Template::Name
|
|
42
58
|
@authorcitetemplateklass = Relaton::Render::Template::AuthorCite
|
|
@@ -65,7 +65,8 @@ module Relaton
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def authoritative_identifier_exclude
|
|
68
|
-
%w(METANORMA METANORMA-ORDINAL TITLE URN ISO-REFERENCE) +
|
|
68
|
+
%w(METANORMA METANORMA-ORDINAL AUTHOR-DATE TITLE URN ISO-REFERENCE) +
|
|
69
|
+
other_identifier_include
|
|
69
70
|
end
|
|
70
71
|
|
|
71
72
|
def other_identifier(doc)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
require_relative "../utils/utils"
|
|
1
|
+
# require_relative "../utils/utils"
|
|
2
2
|
require_relative "liquid"
|
|
3
3
|
require "singleton"
|
|
4
|
+
require "metanorma-utils"
|
|
4
5
|
|
|
5
6
|
module Relaton
|
|
6
7
|
module Render
|
|
@@ -10,6 +11,9 @@ module Relaton
|
|
|
10
11
|
|
|
11
12
|
attr_accessor :mutex
|
|
12
13
|
|
|
14
|
+
Hash.include ::Metanorma::Utils::Hash
|
|
15
|
+
Array.include ::Metanorma::Utils::Array
|
|
16
|
+
|
|
13
17
|
def initialize
|
|
14
18
|
@cache = {}
|
|
15
19
|
@mutex = Mutex.new
|
|
@@ -39,7 +43,8 @@ module Relaton
|
|
|
39
43
|
end
|
|
40
44
|
|
|
41
45
|
def parse_options(opt)
|
|
42
|
-
opt = Utils::sym_keys(opt)
|
|
46
|
+
# opt = Utils::sym_keys(opt)
|
|
47
|
+
opt = opt.symbolize_all_keys
|
|
43
48
|
@i18n = opt[:i18n]
|
|
44
49
|
@template_raw = opt[:template].dup
|
|
45
50
|
@template =
|
data/lib/relaton-render.rb
CHANGED
|
@@ -2,7 +2,6 @@ require "relaton/render/version"
|
|
|
2
2
|
require "relaton/render/general/render"
|
|
3
3
|
require "relaton/render/fields/fields"
|
|
4
4
|
require "relaton/render/parse/parse"
|
|
5
|
-
require "relaton/render/utils/utils"
|
|
6
5
|
require "relaton/render/i18n/i18n"
|
|
7
6
|
require "isodoc/i18n"
|
|
8
7
|
require "base64" # Liquid
|
data/relaton-render.gemspec
CHANGED
|
@@ -25,18 +25,19 @@ Gem::Specification.new do |spec|
|
|
|
25
25
|
spec.add_development_dependency "debug"
|
|
26
26
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
|
27
27
|
spec.add_development_dependency "isodoc"
|
|
28
|
+
spec.add_development_dependency "openssl"
|
|
28
29
|
spec.add_development_dependency "rake", ">= 12.3.3"
|
|
29
30
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
30
31
|
spec.add_development_dependency "simplecov"
|
|
31
|
-
spec.add_development_dependency "openssl"
|
|
32
32
|
|
|
33
|
+
spec.add_dependency "base64" # Liquid
|
|
34
|
+
spec.add_dependency "bigdecimal" # Liquid
|
|
33
35
|
spec.add_dependency "isodoc-i18n", "~> 1.4.0"
|
|
34
36
|
spec.add_dependency "liquid", "~> 5"
|
|
37
|
+
spec.add_dependency "metanorma-utils", "~> 2"
|
|
35
38
|
spec.add_dependency "nokogiri"
|
|
36
39
|
spec.add_dependency "relaton-bib", ">= 1.20.0"
|
|
37
40
|
spec.add_dependency "twitter_cldr"
|
|
38
41
|
spec.add_dependency "tzinfo-data" # we need this for windows only
|
|
39
|
-
spec.
|
|
40
|
-
spec.add_dependency "bigdecimal" # Liquid
|
|
41
|
-
#spec.metadata["rubygems_mfa_required"] = "true"
|
|
42
|
+
# spec.metadata["rubygems_mfa_required"] = "true"
|
|
42
43
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: relaton-render
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -66,6 +66,20 @@ dependencies:
|
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: openssl
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
84
|
name: rake
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,13 +123,13 @@ dependencies:
|
|
|
109
123
|
- !ruby/object:Gem::Version
|
|
110
124
|
version: '0'
|
|
111
125
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
126
|
+
name: base64
|
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
|
114
128
|
requirements:
|
|
115
129
|
- - ">="
|
|
116
130
|
- !ruby/object:Gem::Version
|
|
117
131
|
version: '0'
|
|
118
|
-
type: :
|
|
132
|
+
type: :runtime
|
|
119
133
|
prerelease: false
|
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
135
|
requirements:
|
|
@@ -123,63 +137,63 @@ dependencies:
|
|
|
123
137
|
- !ruby/object:Gem::Version
|
|
124
138
|
version: '0'
|
|
125
139
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
140
|
+
name: bigdecimal
|
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
|
128
142
|
requirements:
|
|
129
|
-
- - "
|
|
143
|
+
- - ">="
|
|
130
144
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
145
|
+
version: '0'
|
|
132
146
|
type: :runtime
|
|
133
147
|
prerelease: false
|
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
149
|
requirements:
|
|
136
|
-
- - "
|
|
150
|
+
- - ">="
|
|
137
151
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
152
|
+
version: '0'
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
154
|
+
name: isodoc-i18n
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
142
156
|
requirements:
|
|
143
157
|
- - "~>"
|
|
144
158
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
159
|
+
version: 1.4.0
|
|
146
160
|
type: :runtime
|
|
147
161
|
prerelease: false
|
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
163
|
requirements:
|
|
150
164
|
- - "~>"
|
|
151
165
|
- !ruby/object:Gem::Version
|
|
152
|
-
version:
|
|
166
|
+
version: 1.4.0
|
|
153
167
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
168
|
+
name: liquid
|
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
|
156
170
|
requirements:
|
|
157
|
-
- - "
|
|
171
|
+
- - "~>"
|
|
158
172
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '
|
|
173
|
+
version: '5'
|
|
160
174
|
type: :runtime
|
|
161
175
|
prerelease: false
|
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
177
|
requirements:
|
|
164
|
-
- - "
|
|
178
|
+
- - "~>"
|
|
165
179
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '
|
|
180
|
+
version: '5'
|
|
167
181
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
182
|
+
name: metanorma-utils
|
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
|
170
184
|
requirements:
|
|
171
|
-
- - "
|
|
185
|
+
- - "~>"
|
|
172
186
|
- !ruby/object:Gem::Version
|
|
173
|
-
version:
|
|
187
|
+
version: '2'
|
|
174
188
|
type: :runtime
|
|
175
189
|
prerelease: false
|
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
191
|
requirements:
|
|
178
|
-
- - "
|
|
192
|
+
- - "~>"
|
|
179
193
|
- !ruby/object:Gem::Version
|
|
180
|
-
version:
|
|
194
|
+
version: '2'
|
|
181
195
|
- !ruby/object:Gem::Dependency
|
|
182
|
-
name:
|
|
196
|
+
name: nokogiri
|
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
|
184
198
|
requirements:
|
|
185
199
|
- - ">="
|
|
@@ -193,21 +207,21 @@ dependencies:
|
|
|
193
207
|
- !ruby/object:Gem::Version
|
|
194
208
|
version: '0'
|
|
195
209
|
- !ruby/object:Gem::Dependency
|
|
196
|
-
name:
|
|
210
|
+
name: relaton-bib
|
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
|
198
212
|
requirements:
|
|
199
213
|
- - ">="
|
|
200
214
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
215
|
+
version: 1.20.0
|
|
202
216
|
type: :runtime
|
|
203
217
|
prerelease: false
|
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
219
|
requirements:
|
|
206
220
|
- - ">="
|
|
207
221
|
- !ruby/object:Gem::Version
|
|
208
|
-
version:
|
|
222
|
+
version: 1.20.0
|
|
209
223
|
- !ruby/object:Gem::Dependency
|
|
210
|
-
name:
|
|
224
|
+
name: twitter_cldr
|
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
|
212
226
|
requirements:
|
|
213
227
|
- - ">="
|
|
@@ -221,7 +235,7 @@ dependencies:
|
|
|
221
235
|
- !ruby/object:Gem::Version
|
|
222
236
|
version: '0'
|
|
223
237
|
- !ruby/object:Gem::Dependency
|
|
224
|
-
name:
|
|
238
|
+
name: tzinfo-data
|
|
225
239
|
requirement: !ruby/object:Gem::Requirement
|
|
226
240
|
requirements:
|
|
227
241
|
- - ">="
|
|
@@ -279,7 +293,6 @@ files:
|
|
|
279
293
|
- lib/relaton/render/template/liquid.rb
|
|
280
294
|
- lib/relaton/render/template/subclasses.rb
|
|
281
295
|
- lib/relaton/render/template/template.rb
|
|
282
|
-
- lib/relaton/render/utils/utils.rb
|
|
283
296
|
- lib/relaton/render/version.rb
|
|
284
297
|
- relaton-render.gemspec
|
|
285
298
|
homepage: https://github.com/relaton/relaton-render
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
module Relaton
|
|
2
|
-
module Render
|
|
3
|
-
module Utils
|
|
4
|
-
def self.string_keys(hash)
|
|
5
|
-
case hash
|
|
6
|
-
when Hash
|
|
7
|
-
hash.each_with_object({}) do |(k, v), ret|
|
|
8
|
-
ret[k.to_s] = string_keys(v)
|
|
9
|
-
end
|
|
10
|
-
when Array then hash.map { |n| string_keys(n) }
|
|
11
|
-
else hash
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def self.sym_keys(hash)
|
|
16
|
-
case hash
|
|
17
|
-
when Hash
|
|
18
|
-
hash.each_with_object({}) do |(k, v), ret|
|
|
19
|
-
ret[k.to_sym] = sym_keys(v)
|
|
20
|
-
end
|
|
21
|
-
when Array then hash.map { |n| sym_keys(n) }
|
|
22
|
-
else hash
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|