relaton-ccsds 1.16.3 → 1.17.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: 04acb04f4b67b4c455bbf9406090419eb77c3ad03c7f0cd44c0c83e19c6a2bba
4
- data.tar.gz: 37a89024ff34103d7e36d5d554ae30d27a6d306bb0448caea2363e94d3603420
3
+ metadata.gz: 3b632bd8f8858ae2fb6d2fbaffed10fff5f6fde030337ce6fff74e2b4f19e010
4
+ data.tar.gz: b73f9f3a7b63f80bac18024b2afa60a6bf19f63569a62f9ac7b82302b3dfc631
5
5
  SHA512:
6
- metadata.gz: 859719c12454ad67c2b1614ac4ff9c65bb2b1b7d0abcb1c778ff8b593441f715ed26ad0af1084f95beff4531a84ff76b2a305124112838d5232bc74e0fb2b624
7
- data.tar.gz: 777d29e9a4e150220bcc75836cbc9f5dab248bc0a07a17c0b86632752d9227e09fec328074f14a163c5ed005dbe33c7cd2d971dae55c7bab5f68be8f1286f3a9
6
+ metadata.gz: aef90a13ba49c82b849bab3192b64b3fd632c85670af4297d4fa3dfa40fc03321976402b610d5b96fa292520c0d72d9b481b498ebad876eefb617a9ef3d6d0a7
7
+ data.tar.gz: e23521780a2abe04b89167727751191963cb40ed2a805b884348342c459ee90903d6f960261be54459dcddade6bfad877fd40dcc70123b879c59a13e4724e2dd
data/README.adoc CHANGED
@@ -54,7 +54,7 @@ item = hits[0].doc
54
54
  [source,ruby]
55
55
  ----
56
56
  item.to_xml
57
- => "<bibitem id="CCSDS230.2-G-1" schema-version="v1.2.4">
57
+ => "<bibitem id="CCSDS230.2-G-1" schema-version="v1.2.5">
58
58
  <fetched>2023-08-25</fetched>
59
59
  <title format="text/plain" language="en" script="Latn">Next Generation Uplink</title>
60
60
  <uri type="pdf">https://public.ccsds.org/Pubs/230x2g1.pdf</uri>
@@ -66,7 +66,7 @@ With argument `bibdata: true` it outputs XML wrapped by `bibdata` element and ad
66
66
  [source,ruby]
67
67
  ----
68
68
  item.to_xml bibdata: true
69
- => "<bibdata schema-version="v1.2.4">
69
+ => "<bibdata schema-version="v1.2.5">
70
70
  <fetched>2023-08-25</fetched>
71
71
  <title format="text/plain" language="en" script="Latn">Next Generation Uplink</title>
72
72
  <uri type="pdf">https://public.ccsds.org/Pubs/230x2g1.pdf</uri>
@@ -346,6 +346,8 @@
346
346
  <ref name="keyword"/>
347
347
  <ref name="xref"/>
348
348
  <ref name="hyperlink"/>
349
+ <ref name="index"/>
350
+ <ref name="index-xref"/>
349
351
  </choice>
350
352
  </oneOrMore>
351
353
  </element>
@@ -623,6 +625,8 @@
623
625
  <ref name="eref"/>
624
626
  <ref name="xref"/>
625
627
  <ref name="hyperlink"/>
628
+ <ref name="index"/>
629
+ <ref name="index-xref"/>
626
630
  </choice>
627
631
  </zeroOrMore>
628
632
  </element>
@@ -636,6 +640,8 @@
636
640
  <ref name="eref"/>
637
641
  <ref name="xref"/>
638
642
  <ref name="hyperlink"/>
643
+ <ref name="index"/>
644
+ <ref name="index-xref"/>
639
645
  </choice>
640
646
  </zeroOrMore>
641
647
  </element>
@@ -648,6 +654,8 @@
648
654
  <ref name="eref"/>
649
655
  <ref name="xref"/>
650
656
  <ref name="hyperlink"/>
657
+ <ref name="index"/>
658
+ <ref name="index-xref"/>
651
659
  </choice>
652
660
  </zeroOrMore>
653
661
  </element>
@@ -655,7 +663,11 @@
655
663
  <define name="keyword">
656
664
  <element name="keyword">
657
665
  <zeroOrMore>
658
- <ref name="PureTextElement"/>
666
+ <choice>
667
+ <ref name="PureTextElement"/>
668
+ <ref name="index"/>
669
+ <ref name="index-xref"/>
670
+ </choice>
659
671
  </zeroOrMore>
660
672
  </element>
661
673
  </define>
@@ -676,7 +688,11 @@
676
688
  <define name="strike">
677
689
  <element name="strike">
678
690
  <zeroOrMore>
679
- <ref name="PureTextElement"/>
691
+ <choice>
692
+ <ref name="PureTextElement"/>
693
+ <ref name="index"/>
694
+ <ref name="index-xref"/>
695
+ </choice>
680
696
  </zeroOrMore>
681
697
  </element>
682
698
  </define>
data/grammars/biblio.rng CHANGED
@@ -942,6 +942,7 @@
942
942
  <value>obsoleted</value>
943
943
  <value>confirmed</value>
944
944
  <value>updated</value>
945
+ <value>corrected</value>
945
946
  <value>issued</value>
946
947
  <value>transmitted</value>
947
948
  <value>copied</value>
@@ -1,14 +1,9 @@
1
1
  module RelatonCcsds
2
2
  class BibliographicItem < RelatonBib::BibliographicItem
3
- DOCTYPES = %w[standard practice report specification record].freeze
4
-
5
3
  attr_reader :technology_area
6
4
 
7
5
  # @param technology_area [String, nil]
8
6
  def initialize(**args)
9
- if args[:doctype] && !DOCTYPES.include?(args[:doctype])
10
- Util.warn "WARNING: Invalid doctype: `#{args[:doctype]}`"
11
- end
12
7
  @technology_area = args.delete(:technology_area)
13
8
  super
14
9
  end
@@ -27,7 +22,7 @@ module RelatonCcsds
27
22
  super do |builder|
28
23
  if opts[:bibdata] && (doctype || editorialgroup || technology_area)
29
24
  ext = builder.ext do |b|
30
- b.doctype doctype if doctype
25
+ doctype&.to_xml b
31
26
  editorialgroup&.to_xml b
32
27
  b.send(:"technology-area", technology_area) if technology_area
33
28
  end
@@ -56,7 +56,7 @@ module RelatonCcsds
56
56
 
57
57
  def parse_doctype
58
58
  /^CCSDS\s[\d.]+-(?<type>\w+)/ =~ @doc["Document_x0020_Number"]
59
- DOCTYPES[type&.to_sym]
59
+ DocumentType.new type: DOCTYPES[type&.to_sym]
60
60
  end
61
61
 
62
62
  def parse_date
@@ -0,0 +1,16 @@
1
+ module RelatonCcsds
2
+ class DocumentType < RelatonBib::DocumentType
3
+ # DOCTYPES = %w[standard practice report specification record].freeze
4
+
5
+ def initialize(type:, abbreviation: nil)
6
+ # check_type type
7
+ super
8
+ end
9
+
10
+ # def check_type(type)
11
+ # return if DOCTYPES.include? type
12
+
13
+ # Util.warn "WARNING: invalid doctype: `#{type}`"
14
+ # end
15
+ end
16
+ end
@@ -1,21 +1,25 @@
1
1
  module RelatonCcsds
2
- class HashConverter < RelatonBib::HashConverter
3
- class << self
4
- # @param args [Hash]
5
- # @return [Hash]
6
- def hash_to_bib(args)
7
- ret = super
8
- return unless ret
2
+ module HashConverter
3
+ include RelatonBib::HashConverter
4
+ extend self
5
+ # @param args [Hash]
6
+ # @return [Hash]
7
+ def hash_to_bib(args)
8
+ ret = super
9
+ return unless ret
9
10
 
10
- ret[:technology_area] = ret[:ext][:technology_area] if ret[:ext]
11
- ret
12
- end
11
+ ret[:technology_area] = ret[:ext][:technology_area] if ret[:ext]
12
+ ret
13
+ end
14
+
15
+ # @param item_hash [Hash]
16
+ # @return [RelatonCie::BibliographicItem]
17
+ def bib_item(item_hash)
18
+ BibliographicItem.new(**item_hash)
19
+ end
13
20
 
14
- # @param item_hash [Hash]
15
- # @return [RelatonCie::BibliographicItem]
16
- def bib_item(item_hash)
17
- BibliographicItem.new(**item_hash)
18
- end
21
+ def create_doctype(**args)
22
+ DocumentType.new(**args)
19
23
  end
20
24
  end
21
25
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RelatonCcsds
4
- VERSION = "1.16.3"
4
+ VERSION = "1.17.0"
5
5
  end
data/lib/relaton_ccsds.rb CHANGED
@@ -7,6 +7,7 @@ require_relative "relaton_ccsds/version"
7
7
  require_relative "relaton_ccsds/bibliographic_item"
8
8
  require_relative "relaton_ccsds/config"
9
9
  require_relative "relaton_ccsds/util"
10
+ require_relative "relaton_ccsds/document_type"
10
11
  require_relative "relaton_ccsds/bibliography"
11
12
  require_relative "relaton_ccsds/hit"
12
13
  require_relative "relaton_ccsds/hit_collection"
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  # Uncomment to register a new dependency of your gem
27
27
  spec.add_dependency "mechanize", "~> 2.7"
28
- spec.add_dependency "relaton-bib", "~> 1.16.0"
28
+ spec.add_dependency "relaton-bib", "~> 1.17.0"
29
29
  spec.add_dependency "relaton-index", "~> 0.2.0"
30
30
 
31
31
  # For more information and examples about making a new gem, check out our
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-ccsds
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.3
4
+ version: 1.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-07 00:00:00.000000000 Z
11
+ date: 2023-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.16.0
33
+ version: 1.17.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.16.0
40
+ version: 1.17.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: relaton-index
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -79,6 +79,7 @@ files:
79
79
  - lib/relaton_ccsds/config.rb
80
80
  - lib/relaton_ccsds/data_fetcher.rb
81
81
  - lib/relaton_ccsds/data_parser.rb
82
+ - lib/relaton_ccsds/document_type.rb
82
83
  - lib/relaton_ccsds/hash_converter.rb
83
84
  - lib/relaton_ccsds/hit.rb
84
85
  - lib/relaton_ccsds/hit_collection.rb