relaton-render 0.3.2 → 0.3.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/fields/fields.rb +1 -0
- data/lib/relaton/render/parse/parse.rb +1 -0
- data/lib/relaton/render/parse/parse_contributors.rb +30 -6
- data/lib/relaton/render/parse/parse_extract.rb +1 -15
- data/lib/relaton/render/template/template.rb +3 -2
- data/lib/relaton/render/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4af2a199386cc0a95ba9f02a2ba08f5ba146783acfc3c8eb0fb420e50c29bc70
|
4
|
+
data.tar.gz: b6d8e184fd3cd9709bfb3836613a38d43f0959d26f8c9f23316df31633870252
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7edf0a562d388abfb02883976c40155d7c92aeb9563f06d16ee1fda8da0c63ad88094af034562a61fa0aa1ebf798842d04c8f357cc62eb64cd370ef94db8d1ca
|
7
|
+
data.tar.gz: 41e86886b6d865301f98b86d1aa95c8cb9ced5da5db42c3cd2bc35697242b9fb0f007e1bd1ee5a1531230a13a162c70e4371ed060abbd12aa53c03eb0b23dff7
|
@@ -29,6 +29,7 @@ module Relaton
|
|
29
29
|
def simple_or_host_xml2hash(doc, host)
|
30
30
|
{ edition_raw: edition(doc, host), medium_raw: medium(doc, host),
|
31
31
|
place_raw: place(doc, host), publisher_raw: publisher(doc, host),
|
32
|
+
publisher_abbrev_raw: publisher_abbrev(doc, host),
|
32
33
|
distributor_raw: distributor(doc, host), draft_raw: draft(doc, host),
|
33
34
|
access_location: access_location(doc, host),
|
34
35
|
date: date(doc, host), date_updated: date_updated(doc, host),
|
@@ -48,17 +48,20 @@ module Relaton
|
|
48
48
|
[cr.map { |x| extractname(x) }, contributor_role(cr)]
|
49
49
|
end
|
50
50
|
|
51
|
+
def creatornames_roles_allowed
|
52
|
+
%w(author performer adapter translator editor publisher distributor)
|
53
|
+
end
|
54
|
+
|
51
55
|
def creatornames1(doc)
|
52
56
|
cr = []
|
53
57
|
return [] if doc.nil?
|
54
58
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
next if add.nil?
|
59
|
+
creatornames_roles_allowed.each do |r|
|
60
|
+
add = pick_contributor(doc, r)
|
61
|
+
next if add.nil?
|
59
62
|
|
60
|
-
|
61
|
-
|
63
|
+
cr = add and break
|
64
|
+
end
|
62
65
|
cr.nil? and cr = doc.contributor
|
63
66
|
cr
|
64
67
|
end
|
@@ -100,6 +103,27 @@ module Relaton
|
|
100
103
|
host and ret ||= host.date.detect { |x| x.type == "accessed" }
|
101
104
|
datepick(ret)
|
102
105
|
end
|
106
|
+
|
107
|
+
def publisher(doc, host)
|
108
|
+
x = pick_contributor(doc, "publisher")
|
109
|
+
host and x ||= pick_contributor(host, "publisher")
|
110
|
+
x.nil? and return nil
|
111
|
+
x.map { |c| extractname(c) }
|
112
|
+
end
|
113
|
+
|
114
|
+
def publisher_abbrev(doc, host)
|
115
|
+
x = pick_contributor(doc, "publisher")
|
116
|
+
host and x ||= pick_contributor(host, "publisher")
|
117
|
+
x.nil? and return nil
|
118
|
+
x.map { |c| c.entity.abbreviation&.content }
|
119
|
+
end
|
120
|
+
|
121
|
+
def distributor(doc, host)
|
122
|
+
x = pick_contributor(doc, "distributor")
|
123
|
+
host and x ||= pick_contributor(host, "distributor")
|
124
|
+
x.nil? and return nil
|
125
|
+
x.map { |c| extractname(c) }
|
126
|
+
end
|
103
127
|
end
|
104
128
|
end
|
105
129
|
end
|
@@ -43,20 +43,6 @@ module Relaton
|
|
43
43
|
x.map(&:name)
|
44
44
|
end
|
45
45
|
|
46
|
-
def publisher(doc, host)
|
47
|
-
x = pick_contributor(doc, "publisher")
|
48
|
-
host and x ||= pick_contributor(host, "publisher")
|
49
|
-
x.nil? and return nil
|
50
|
-
x.map { |c| extractname(c) }
|
51
|
-
end
|
52
|
-
|
53
|
-
def distributor(doc, host)
|
54
|
-
x = pick_contributor(doc, "distributor")
|
55
|
-
host and x ||= pick_contributor(host, "distributor")
|
56
|
-
x.nil? and return nil
|
57
|
-
x.map { |c| extractname(c) }
|
58
|
-
end
|
59
|
-
|
60
46
|
def series(doc)
|
61
47
|
doc.series.detect { |s| s.type == "main" } ||
|
62
48
|
doc.series.detect { |s| s.type.nil? } ||
|
@@ -103,7 +89,7 @@ module Relaton
|
|
103
89
|
|
104
90
|
def uri(doc)
|
105
91
|
uri = nil
|
106
|
-
%
|
92
|
+
%w(doi uri src).each do |t|
|
107
93
|
uri = doc.link.detect { |u| u.type == t } and break
|
108
94
|
end
|
109
95
|
uri ||= doc.link.first
|
@@ -79,6 +79,7 @@ module Relaton
|
|
79
79
|
.gsub(/(:\s+)(&\s)/, "\\2")
|
80
80
|
.gsub(/\s+([,.:;)])/, "\\1")
|
81
81
|
.sub(/^\s*[,.:;]\s*/, "")
|
82
|
+
.sub(/[,:;]\s*$/, "")
|
82
83
|
.gsub(/_/, " ")
|
83
84
|
.gsub(/#{NON_SPACING_DELIM}/o, "").gsub(/\s+/, " ")
|
84
85
|
end
|
@@ -133,9 +134,9 @@ module Relaton
|
|
133
134
|
end
|
134
135
|
|
135
136
|
def template_select_etal(names)
|
136
|
-
if @etal_count && names.size >= @etal_count
|
137
|
+
if @etal_count && names[:surname].size >= @etal_count
|
137
138
|
@template[:etal]
|
138
|
-
else expand_nametemplate(@template_raw[:more], names.size)
|
139
|
+
else expand_nametemplate(@template_raw[:more], names[:surname].size)
|
139
140
|
end
|
140
141
|
end
|
141
142
|
|
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: 0.3.
|
4
|
+
version: 0.3.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: 2022-04-
|
11
|
+
date: 2022-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|