relaton-cen 1.20.0 → 1.20.1

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: 3a93d5f1165f0c4d201921354ee23f3380f0bdac391a8d0312badc5ac8284af5
4
- data.tar.gz: b7f3ce94a3499f88b8cc1af7777f2cfe1dd0aedac1d6a105a2227de4fe161681
3
+ metadata.gz: 6b5494001b882408a35049aed09cac4cc3b865e6bb516066635670968b12db88
4
+ data.tar.gz: 7c7ba2d4beb850f50311b3875f59913eae6b6ad54208c0832e38c97457bcd3f5
5
5
  SHA512:
6
- metadata.gz: 0d6d9d0562c691385be169a61c73776c130c5bdf9efafbba6a3c94605bd9e71a6259b06a91792ac4fc2a237f83dcd9625acdfa18c94183f06e33e0e308025f15
7
- data.tar.gz: 459d19933617e74c43f8b8d2aa1b7efeeebde2bfaa1737162dc766cd15fe2cebebf70fed9f20f908de1b2264ed65a620113a9eb2ef5d451e0ef8d06f8b888dbf
6
+ metadata.gz: f892adf5399eb8ef93c51d0d56d04272b71674587ed873c0b4316151995faaf60cca7ccc349c4ce7703577887a68f382a1c8f37810f9b587b1e2cb6709771dc6
7
+ data.tar.gz: f529f06753eb83fe79c22d2cf7fa7bdfaba94f678c69ff60e7ee6400da13077ab7e068385beb126ec0aaea72958379651edec4ee4bc1fcd8533fb185ecb7df63
@@ -110,28 +110,33 @@ module RelatonCen
110
110
  # Fetch relations.
111
111
  # @param doc [Mechanize::Page]
112
112
  # @return [Array<Hash>]
113
- def fetch_relations(doc) # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
113
+ def fetch_relations(doc)
114
114
  doc.xpath(
115
115
  "//div[@id='DASHBOARD_LISTRELATIONS']/table/tr[th[.!='Sales Points']]",
116
116
  ).each_with_object([]) do |rt, a|
117
- t = rt.at("th").text
118
- type = case t
119
- when "Supersedes" then "obsoletes"
120
- when /Normative reference/ then "cites"
121
- else t.downcase
122
- end
117
+ type = relation_type rt.at("th").text.downcase
123
118
  rt.xpath("td/a").each do |r|
124
- fref = RelatonBib::FormattedRef.new(content: r.text, language: "en",
125
- script: "Latn")
126
- link = fetch_link HitCollection::DOMAIN + r[:href]
127
- bibitem = RelatonBib::BibliographicItem.new(
128
- formattedref: fref, type: "standard", link: link,
129
- )
130
- a << { type: type, bibitem: bibitem }
119
+ a << { type: type, bibitem: create_relation(r) }
131
120
  end
132
121
  end
133
122
  end
134
123
 
124
+ def relation_type(type)
125
+ case type
126
+ when "supersedes" then "obsoletes"
127
+ when "superseded by" then "obsoletedBy"
128
+ when /bibliographic references/ then "cites"
129
+ when /normative reference/ then "cites"
130
+ else type
131
+ end
132
+ end
133
+
134
+ def create_relation(rel)
135
+ fref = RelatonBib::FormattedRef.new(content: rel.text, language: "en", script: "Latn")
136
+ link = fetch_link HitCollection::DOMAIN + rel[:href]
137
+ BibliographicItem.new(formattedref: fref, type: "standard", link: link)
138
+ end
139
+
135
140
  # Fetch titles.
136
141
  # @param doc [Mechanize::Page]
137
142
  # @return [RelatonBib::TypedTitleStringCollection]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RelatonCen
4
- VERSION = "1.20.0"
4
+ VERSION = "1.20.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-cen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.20.0
4
+ version: 1.20.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-12 00:00:00.000000000 Z
11
+ date: 2025-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  requirements: []
102
- rubygems_version: 3.5.19
102
+ rubygems_version: 3.5.22
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: 'RelatonCen: retrieve Cenelec Standards for bibliographic use using the IsoBibliographicItem