relaton-render 3.0.0.pre.alpha.2 → 3.0.0.pre.alpha.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.rb +24 -8
- data/lib/relaton/render/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b1d41488064d32008b3f44f81635f4bf8e096341adb5434eb270b440b9f7bfbe
|
|
4
|
+
data.tar.gz: 7b3b00fdadc97f66749d98f028684016a7d917977a3900c2d852a6127e4126f2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1c73e86c124a5cb571305da9b9dc8ac0a35eeabadc89f2d9fa819ca95edd3bbe097356c4e5e4f2199542c94a0939338bfd3b04d6f1f3933708b266751b5b75c9
|
|
7
|
+
data.tar.gz: 539376d05813f377ca9d8fa36dff0c023e477daf4c7fb435b487a4e2da22bb98e185f65a1ff3a2e17b838e881028a8f7a3c7de1a27f7c5d7f5f616274f71c349
|
|
@@ -27,20 +27,27 @@ module Relaton
|
|
|
27
27
|
def initialize(options = {})
|
|
28
28
|
options = deep_symbolize(options)
|
|
29
29
|
@lang = options[:language] || options[:lang] || "en"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
)
|
|
30
|
+
renderer_opts = { lang: @lang, script: options[:script] || "Latn",
|
|
31
|
+
labels: options[:i18nhash] || {} }
|
|
32
|
+
# A flavor names its own CitationStyle instance (name or YAML path)
|
|
33
|
+
options[:style] and renderer_opts[:style] = options[:style]
|
|
34
|
+
@renderer = Iso690::Renderer.new(**renderer_opts)
|
|
35
35
|
warn_general_config if options[:config]
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def render(model, **opts)
|
|
39
|
-
|
|
38
|
+
def render(model, embedded: false, **opts)
|
|
39
|
+
model = to_model(model)
|
|
40
|
+
text =
|
|
41
|
+
if model.respond_to?(:formattedref) && model.formattedref
|
|
42
|
+
model.formattedref.content
|
|
43
|
+
else
|
|
44
|
+
@renderer.render(model, **opts)
|
|
45
|
+
end
|
|
46
|
+
embedded ? text : "<formattedref>#{text}</formattedref>"
|
|
40
47
|
end
|
|
41
48
|
|
|
42
49
|
def citation(model, **opts)
|
|
43
|
-
@renderer.citation(model, **opts)
|
|
50
|
+
@renderer.citation(to_model(model), **opts)
|
|
44
51
|
end
|
|
45
52
|
|
|
46
53
|
# isodoc's references rendering: renderings[id][:formattedref]
|
|
@@ -157,6 +164,15 @@ module Relaton
|
|
|
157
164
|
end
|
|
158
165
|
end
|
|
159
166
|
|
|
167
|
+
# 1.x render/citation accepted a bibitem XML string; the Iso690
|
|
168
|
+
# engine consumes model instances.
|
|
169
|
+
def to_model(model)
|
|
170
|
+
return model unless model.is_a?(String)
|
|
171
|
+
|
|
172
|
+
klass = facade_bibitem_class
|
|
173
|
+
klass.from_xml(model)
|
|
174
|
+
end
|
|
175
|
+
|
|
160
176
|
def warn_general_config
|
|
161
177
|
return if General.config_warned
|
|
162
178
|
|