relaton-gb 2.0.0.pre.alpha.2 → 2.1.0

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: 1b120cebe494766b26bb882d0b0ea16adc56c3ac35b02c57425ea6af994d8ad1
4
- data.tar.gz: 19f0ce8e61e8110ab1e73bd6a6d04cfc9ced139443321360110c9f6688432cd8
3
+ metadata.gz: c701a9e188f05fdf0e1a79dc265f90bdeddecb1c4a6df0c1dad4a8dbc2921e91
4
+ data.tar.gz: 80ba0baac90e966130af867db69f164201c5b9a2c2affed7faa36889205bb871
5
5
  SHA512:
6
- metadata.gz: 8c5a8bfd2c7b2862ad026c046056d210283565213b6f9dcdfc6957ec85868eb0529dd0f1a5155d2647073bff667e80d971a9889b60bf90cd55757d7d57b20dfb
7
- data.tar.gz: 13e570342c2efb011eb2ff71f0f0fb56916d4a73b5037a5c7f53012a8fb284234b83e7a804def400b3c05d6e6f6aa7f34a4405605ec720e6546651cc3d7024d6
6
+ metadata.gz: 449a58c134c1888d1f4a23e96e22b9e3eea7649e92ea7f86f0444630240f9f993fc8a4979db327a43c7fc567226bcfb2dcb365b7e477f02980dd436062367076
7
+ data.tar.gz: f4f9dcdf2a44d8564e6e97a47912e77d58f640fe12d63ebcf87f3dd3104ca40a6487531069f93170438535433e0041178bbba9fb93dde32bbfd1c5f14837df02
data/.gitignore CHANGED
@@ -13,3 +13,4 @@
13
13
  .rspec_status
14
14
  .rubocop-https---raw-githubusercontent-com-riboseinc-oss-guides-master-ci-rubocop-yml
15
15
  Gemfile.lock
16
+ .claude/settings.local.json
data/Gemfile CHANGED
@@ -8,6 +8,7 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
8
8
  # Specify your gem's dependencies in gdbib.gemspec
9
9
  gemspec
10
10
 
11
+
11
12
  gem "equivalent-xml", "~> 0.6"
12
13
  gem "pry-byebug"
13
14
  gem "rake", "~> 13.0"
data/grammars/biblio.rng CHANGED
@@ -2015,15 +2015,11 @@ provided that it is not the entire bibliographic item that is so related</a:docu
2015
2015
  <a:documentation>A version of the bibliographic item (within an edition). Can be used for drafts</a:documentation>
2016
2016
  <element name="version">
2017
2017
  <optional>
2018
- <ref name="revision-date">
2019
- <a:documentation>The date at which the current version of the bibliographic item was produced</a:documentation>
2020
- </ref>
2021
- </optional>
2022
- <optional>
2023
- <ref name="draft">
2024
- <a:documentation>The identifier for the current draft of the bibliographic item</a:documentation>
2025
- </ref>
2018
+ <attribute name="type">
2019
+ <a:documentation>Versioning scheme, in case of multiple versioning schemes</a:documentation>
2020
+ </attribute>
2026
2021
  </optional>
2022
+ <text/>
2027
2023
  </element>
2028
2024
  </define>
2029
2025
  <define name="vedition">
@@ -1,6 +1,7 @@
1
1
  module Relaton
2
2
  module Gb
3
3
  class Bibdata < Item
4
+ model ItemData
4
5
  include Bib::BibdataShared
5
6
  end
6
7
  end
@@ -1,6 +1,7 @@
1
1
  module Relaton
2
2
  module Gb
3
3
  class Bibitem < Item
4
+ model ItemData
4
5
  include Bib::BibitemShared
5
6
  end
6
7
  end
@@ -1,16 +1,13 @@
1
1
  module Relaton
2
2
  module Gb
3
3
  class CCS < Bib::ICS
4
- attribute :text, method: :get_text
4
+ xml { root "ccs" }
5
5
 
6
- xml do
7
- root "ccs"
8
- map_element "code", to: :code
9
- map_element "text", to: :text
10
- end
6
+ def text
7
+ val = @text
8
+ return val if val && !val.empty?
11
9
 
12
- def get_text
13
- Cnccs.fetch(code).description if code
10
+ Cnccs.fetch(code)&.description if code
14
11
  end
15
12
  end
16
13
  end
@@ -8,10 +8,8 @@ require_relative "ccs"
8
8
  module Relaton
9
9
  module Gb
10
10
  class Ext < Bib::Ext
11
- attribute :schema_version, method: :get_schema_version
12
11
  attribute :doctype, Doctype
13
12
  attribute :subdoctype, :string, values: %w[specification method-of-test vocabulary code-of-practice]
14
- # attribute :gbcommittee, Committee, collection: true
15
13
  attribute :structuredidentifier, StructuredIdentifier
16
14
  attribute :stagename, StageName
17
15
  attribute :gbtype, GbType
@@ -19,16 +17,20 @@ module Relaton
19
17
  attribute :plannumber, :string
20
18
 
21
19
  xml do
22
- # map_element "gbcommittee", to: :gbcommittee
23
20
  map_element "stagename", to: :stagename
24
21
  map_element "gbtype", to: :gbtype
25
22
  map_element "ccs", to: :ccs
26
23
  map_element "plannumber", to: :plannumber
27
24
  end
28
25
 
29
- def get_schema_version
30
- Relaton.schema_versions["relaton-model-gb"]
26
+ key_value do
27
+ map_element "stagename", to: :stagename
28
+ map_element "gbtype", to: :gbtype
29
+ map_element "ccs", to: :ccs
30
+ map_element "plannumber", to: :plannumber
31
31
  end
32
+
33
+ def get_schema_version = Relaton.schema_versions["relaton-model-gb"]
32
34
  end
33
35
  end
34
36
  end
@@ -22,8 +22,10 @@ module Relaton
22
22
  ).map do |h|
23
23
  ref = h.at "./td[2]/a"
24
24
  pid = ref[:onclick].match(/[0-9A-F]+/).to_s
25
- rdate = h.at("./td[7]").text
26
- Hit.new pid: pid, docref: ref.text, scraper: self, release_date: rdate
25
+ status = h.at("./td[7]").text.strip
26
+ rdate = h.at("./td[8]").text.strip
27
+ Hit.new pid: pid, docref: ref.text, scraper: self,
28
+ release_date: rdate, status: status
27
29
  end
28
30
  HitCollection.new hits.sort_by(&:release_date).reverse
29
31
  rescue Mechanize::Error => e
@@ -95,7 +95,7 @@ module Relaton
95
95
  # @param doc [Nokogiri::HTML::Document]
96
96
  # @return [Array<String>]
97
97
  def get_ccs(doc)
98
- code = doc.at("//div[contains(text(), '中国标准分类号')]/following-sibling::div").text.delete("\r\n\t\t")
98
+ code = doc.at("//div[contains(text(), '中国标准分类号')]/following-sibling::div").text.strip
99
99
  [CCS.new(code: code)]
100
100
  end
101
101
 
@@ -106,7 +106,7 @@ module Relaton
106
106
  " | //dt[contains(text(), '国际标准分类号')]/following-sibling::dd")
107
107
  return [] unless ics
108
108
 
109
- code = ics.text.delete("\r\n\t\t")
109
+ code = ics.text.strip
110
110
  [Bib::ICS.new(code: code)]
111
111
  end
112
112
 
@@ -56,15 +56,8 @@ module Relaton
56
56
  # @param doc [Nokogiri::HTML::Document]
57
57
  # @return [Array<Relaton::Bib::Title>]
58
58
  def get_titles(doc)
59
- # titles = [{ title_main: doc.at("//h4").text.delete("\r\n\t"),
60
- # title_intro: nil, language: "zh", script: "Hans" }]
61
59
  tzh = doc.at("//h4").text.delete("\r\n\t")
62
- [Bib::Title.from_string(tzh, "zh", "Hans")]
63
- # title_main = doc.at("//td[contains(text(), '英文标准名称')]").text.match(/[\w\s]+/).to_s
64
- # unless title_main.empty?
65
- # titles << { title_main: title_main, title_intro: nil, language: "en", script: "Latn" }
66
- # end
67
- # titles
60
+ Bib::Title.from_string(tzh, "zh", "Hans")
68
61
  end
69
62
 
70
63
  # @param _doc [Nokogiri::HTML::Document]
@@ -1,5 +1,5 @@
1
1
  module Relaton
2
2
  module Gb
3
- VERSION = "2.0.0-alpha.2".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  end
@@ -28,6 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency "gb-agencies", "~> 0.0.1"
29
29
  spec.add_dependency "mechanize", "~> 2.10"
30
30
  spec.add_dependency "relaton-core", "~> 0.0.13"
31
- spec.add_dependency "relaton-iso", "~> 2.0.0-alpha.7"
31
+ spec.add_dependency "relaton-iso", "~> 2.1.0"
32
32
  spec.add_dependency "csv", "~> 3.0"
33
33
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-gb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.alpha.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-05-04 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: cnccs
@@ -71,14 +72,14 @@ dependencies:
71
72
  requirements:
72
73
  - - "~>"
73
74
  - !ruby/object:Gem::Version
74
- version: 2.0.0.pre.alpha.7
75
+ version: 2.1.0
75
76
  type: :runtime
76
77
  prerelease: false
77
78
  version_requirements: !ruby/object:Gem::Requirement
78
79
  requirements:
79
80
  - - "~>"
80
81
  - !ruby/object:Gem::Version
81
- version: 2.0.0.pre.alpha.7
82
+ version: 2.1.0
82
83
  - !ruby/object:Gem::Dependency
83
84
  name: csv
84
85
  requirement: !ruby/object:Gem::Requirement
@@ -144,11 +145,12 @@ files:
144
145
  - lib/relaton/gb/util.rb
145
146
  - lib/relaton/gb/version.rb
146
147
  - lib/relaton/gb/yaml/prefixes.yaml
147
- - relaton_gb.gemspec
148
+ - relaton-gb.gemspec
148
149
  homepage: https://github.com/metanorma/relaton_gb
149
150
  licenses:
150
151
  - BSD-2-Clause
151
152
  metadata: {}
153
+ post_install_message:
152
154
  rdoc_options: []
153
155
  require_paths:
154
156
  - lib
@@ -163,7 +165,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
165
  - !ruby/object:Gem::Version
164
166
  version: '0'
165
167
  requirements: []
166
- rubygems_version: 3.6.9
168
+ rubygems_version: 3.5.22
169
+ signing_key:
167
170
  specification_version: 4
168
171
  summary: 'Relaton::Gb: retrieve Chinese GB Standards for bibliographic use using the
169
172
  BibliographicItem model.'