relaton-ietf 1.13.2 → 1.13.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51e29fcf1299a480c0bcd58c49940fa5dff19d860aa433844ae369334df0b53f
4
- data.tar.gz: dc12d995d535935ec257ae70ba81b5af0e611f4c22a5af02351938e522ead598
3
+ metadata.gz: db91bbb481894890a4cbeaa2be2360cdec706ed70032802445be832c563894cb
4
+ data.tar.gz: 46d9f9e438e4dbe4d42f8d12c6236c864677a56940358abf87a314987ac22579
5
5
  SHA512:
6
- metadata.gz: 967aa4beef15be80301646b2abe549218f2a827bec2bda14d0da7abf24787f0ce91733884d247549a53a623b7f74370724652f6c891b6f55c1a6c865295a2b60
7
- data.tar.gz: 7e36eaedb2c2e9a2b087156010b0c0097c46f24ba8b4454d9832a42aca004483ce556e3246aaae69cb0560305ac15da0d935669600025ead70c526f8c8ed4a76
6
+ metadata.gz: cc5e578aa8f3669bd0a4edea2de81ec2b4413d4c35c569458bf8b30ac4f8d05e777aaf7180d4c2488041cfc8f0963e4730cb7364668e95c0f166bd81f189e84d
7
+ data.tar.gz: 64ff855b716bc70c09c3790bf7bb24fb2d208aee7ef92080d74d72e1a4425183d4ccf0d3ed33530c8a63fe41260cbac589618e82b3f0c12280dfcd4715e2f4fb
@@ -3,6 +3,25 @@ module RelatonIetf
3
3
  include RelatonBib::BibXMLParser
4
4
  extend BibXMLParser
5
5
 
6
+ FULLNAMEORG = [
7
+ "IAB", "Internet Architecture Board", "IAB and IESG", "IESG",
8
+ "IAB Advisory Committee", "Internet Engineering Steering Group",
9
+ "Network Information Center. Stanford Research Institute",
10
+ "Information Sciences Institute University of Southern California",
11
+ "International Telegraph and Telephone Consultative Committee of the International Telecommunication Union",
12
+ "National Bureau of Standards", "International Organization for Standardization",
13
+ "National Research Council", "Gateway Algorithms and Data Structures Task Force",
14
+ "National Science Foundation", "Network Technical Advisory Group",
15
+ "NetBIOS Working Group in the Defense Advanced Research Projects Agency",
16
+ "Internet Activities Board", "End-to-End Services Task Force",
17
+ "Defense Advanced Research Projects Agency", "The North American Directory Forum",
18
+ "ESCC X.500/X.400 Task Force", "ESnet Site Coordinating Comittee (ESCC)",
19
+ "Energy Sciences Network (ESnet)", "RARE WG-MSG Task Force 88",
20
+ "Internet Assigned Numbers Authority (IANA)", "Federal Networking Council",
21
+ "Audio-Video Transport Working Group", "KOI8-U Working Group",
22
+ "The Internet Society", "Sun Microsystems"
23
+ ].freeze
24
+
6
25
  # @param attrs [Hash]
7
26
  # @return [RelatonIetf::IetfBibliographicItem]
8
27
  def bib_item(**attrs)
@@ -24,7 +43,8 @@ module RelatonIetf
24
43
  type = super
25
44
  case type
26
45
  when "BCP", "FYI", "STD", "RFC" then "RFC"
27
- when "Internet-Draft" then type
46
+ # when "Internet-Draft" then type
47
+ when "I-D" then "Internet-Draft"
28
48
  else "IETF"
29
49
  end
30
50
  end
@@ -46,7 +66,32 @@ module RelatonIetf
46
66
  }
47
67
  end
48
68
  contribs + super
49
- # persons(reference) + organizations(reference)
69
+ end
70
+
71
+ #
72
+ # Overrade RelatonBib::BibXMLParser#full_name method
73
+ #
74
+ # @param author [Nokogiri::XML::Element]
75
+ # @param reference [Nokogiri::XML::Element]
76
+ #
77
+ # @return [RelatonBib::FullName]
78
+ #
79
+ def full_name(author, reference)
80
+ lang = language reference
81
+ sname, inits = parse_surname_initials author
82
+ initials = localized_string(inits, lang)
83
+ RelatonBib::FullName.new(
84
+ completename: localized_string(author[:fullname], lang),
85
+ initials: initials, forename: forename(inits, lang),
86
+ surname: localized_string(sname, lang)
87
+ )
88
+ end
89
+
90
+ def parse_surname_initials(author)
91
+ regex = /(?:[A-Z]{1,2}(?:\.[\s-]?|\s))+/
92
+ surname = author[:surname] || author[:fullname].sub(regex, "").strip
93
+ inits = author[:initials] || regex.match(author[:fullname])&.to_s&.strip
94
+ [surname, inits]
50
95
  end
51
96
  end
52
97
  end
@@ -157,14 +157,9 @@ module RelatonIetf
157
157
  entity = RelatonBib::Organization.new(abbrev: n, name: "International Organization for Standardization")
158
158
  when "International Organization for Standardization"
159
159
  entity = RelatonBib::Organization.new(abbrev: "ISO", name: n)
160
- # when "IAB", "IESG", "Internet Architecture Board", "IAB and IESG",
161
- # "IAB Advisory Committee", "Internet Engineering Steering Group"
162
160
  when /#{RelatonBib::BibXMLParser::FULLNAMEORG.join("|")}/
163
161
  abbr = n.upcase == n ? n : n.split.reduce([]) { |a, w| w == w.upcase ? break : a << w[0] }&.join
164
162
  entity = RelatonBib::Organization.new(abbrev: abbr, name: n)
165
- desc = "BibXML author"
166
- # when "IESG"
167
- # entity = RelatonBib::Organization.new(abbrev: n, name: "Internet Engineering Steering Group")
168
163
  when "Federal Networking Council", "Internet Activities Board",
169
164
  "Defense Advanced Research Projects Agency", "National Science Foundation",
170
165
  "National Research Council", "National Bureau of Standards"
@@ -178,14 +173,15 @@ module RelatonIetf
178
173
  "End-to-End Services Task Force", "Network Technical Advisory Group", "Bolt Beranek",
179
174
  "Newman Laboratories", "Gateway Algorithms and Data Structures Task Force",
180
175
  "Network Information Center. Stanford Research Institute", "RFC Editor",
181
- "Information Sciences Institute University of Southern California"
176
+ "Information Sciences Institute University of Southern California",
177
+ "RARE WG-MSG Task Force 88", "KOI8-U Working Group", "The Internet Society"
182
178
  entity = RelatonBib::Organization.new(name: n)
183
179
  when "Internet Assigned Numbers Authority (IANA)"
184
- entity = RelatonBib::Organization.new(abbrev: "IANA", name: "Internet Assigned Numbers Authority")
180
+ entity = RelatonBib::Organization.new(abbrev: "IANA", name: "Internet Assigned Numbers Authority (IANA)")
185
181
  when "ESnet Site Coordinating Comittee (ESCC)"
186
- entity = RelatonBib::Organization.new(abbrev: "ESCC", name: "ESnet Site Coordinating Comittee")
182
+ entity = RelatonBib::Organization.new(abbrev: "ESCC", name: "ESnet Site Coordinating Comittee (ESCC)")
187
183
  when "Energy Sciences Network (ESnet)"
188
- entity = RelatonBib::Organization.new(abbrev: "ESnet", name: "Energy Sciences Network")
184
+ entity = RelatonBib::Organization.new(abbrev: "ESnet", name: "Energy Sciences Network (ESnet)")
189
185
  when "International Telegraph and Telephone Consultative Committee of the International Telecommunication Union"
190
186
  entity = RelatonBib::Organization.new(abbrev: "CCITT", name: n)
191
187
  else
@@ -197,7 +193,7 @@ module RelatonIetf
197
193
  )
198
194
  entity = RelatonBib::Person.new(name: fname)
199
195
  end
200
- RelatonBib::ContributionInfo.new(entity: entity, role: parse_role(contrib, desc))
196
+ RelatonBib::ContributionInfo.new(entity: entity, role: parse_role(contrib))
201
197
  end
202
198
  end
203
199
 
@@ -205,14 +201,12 @@ module RelatonIetf
205
201
  # Parse contributors role
206
202
  #
207
203
  # @param [Nokogiri::XML::Node] contrib contributor
208
- # @param [String, nil] desc contributor description
209
204
  #
210
205
  # @return [Array<Hash>] contributor's role
211
206
  #
212
- def parse_role(contrib, desc = nil)
207
+ def parse_role(contrib)
213
208
  type = contrib.at("./xmlns:title")&.text&.downcase || "author"
214
209
  role = { type: type }
215
- role[:description] = [desc] if desc
216
210
  [role]
217
211
  end
218
212
 
@@ -1,3 +1,3 @@
1
1
  module RelatonIetf
2
- VERSION = "1.13.2".freeze
2
+ VERSION = "1.13.4".freeze
3
3
  end
data/relaton_ietf.gemspec CHANGED
@@ -38,5 +38,5 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency "vcr"
39
39
  spec.add_development_dependency "webmock"
40
40
 
41
- spec.add_dependency "relaton-bib", "~> 1.13.0"
41
+ spec.add_dependency "relaton-bib", "~> 1.13.10"
42
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-ietf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.2
4
+ version: 1.13.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-20 00:00:00.000000000 Z
11
+ date: 2022-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: equivalent-xml
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.13.0
131
+ version: 1.13.10
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.13.0
138
+ version: 1.13.10
139
139
  description: "RelatonIetf: retrieve IETF Standards for bibliographic use \nusing the
140
140
  BibliographicItem model.\n\nFormerly known as rfcbib.\n"
141
141
  email:
@@ -181,7 +181,7 @@ homepage: https://github.com/metanorma/relaton-ietf
181
181
  licenses:
182
182
  - BSD-2-Clause
183
183
  metadata: {}
184
- post_install_message:
184
+ post_install_message:
185
185
  rdoc_options: []
186
186
  require_paths:
187
187
  - lib
@@ -196,8 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
196
  - !ruby/object:Gem::Version
197
197
  version: '0'
198
198
  requirements: []
199
- rubygems_version: 3.2.3
200
- signing_key:
199
+ rubygems_version: 3.1.6
200
+ signing_key:
201
201
  specification_version: 4
202
202
  summary: 'RelatonIetf: retrieve IETF Standards for bibliographic use using the BibliographicItem
203
203
  model'