relaton-bipm 1.5.pre → 1.5.0

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: ac88df1719bfb7a141e85e07091855edecbaf43fe7fd8848acd2d57c05a3a675
4
- data.tar.gz: e5fc490ae0bc617473e97162c1da7d53b7b01b982711876a83077b28534a6441
3
+ metadata.gz: 68cfd5dced834d94c0bdaf55fc7593e4b5174dbe8b08404489cb2060d73cd9ce
4
+ data.tar.gz: 2402fa8b93b5234bb9b25804803791c498233b6cdffc0ab9bce00462e901ef5c
5
5
  SHA512:
6
- metadata.gz: 1504e54965973446382011107e0d740f2050618dc14f40853f83c404223aba76770160b35d15219ee72a7851cabd1abe0139814c3213e11fa10cc6c29b08aba1
7
- data.tar.gz: 2071fef5c298d883941ecbd06a4d4163066b4bd3fec08209fe75ff4b136d2dffde82bb3e45cba25cd2724ecd10a07d845becf9639600db7b590c9a78dce1807e
6
+ metadata.gz: 5a18546b6f0e83bcd2b17806564d9652ddc629800f78c048dbf2e4c39926be30954833cfdb849bf2f4eda277f9eddc796c06e3614e29c32fa03914afc54f6122
7
+ data.tar.gz: 7b5f50e5a49fb041a74d3581fa22362bc3851515afb2c28e5a83a25d238f3a5ec33e0241313c4f143bcbea968b6146af143a9b2e14ba88c853c692ed7f5f0efc
@@ -0,0 +1,188 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <!--
4
+ Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
5
+ we cannot have a new default namespace: we will end up with a grammar with two different
6
+ namespaces, one for isostandard and one for csand additions. And we do not want that.
7
+ -->
8
+ <include href="isodoc.rng">
9
+ <start>
10
+ <ref name="bipm-standard"/>
11
+ </start>
12
+ <define name="xref">
13
+ <element name="xref">
14
+ <attribute name="target">
15
+ <data type="string">
16
+ <param name="pattern">\i\c*|\c+#\c+</param>
17
+ </data>
18
+ </attribute>
19
+ <optional>
20
+ <attribute name="type">
21
+ <ref name="ReferenceFormat"/>
22
+ </attribute>
23
+ </optional>
24
+ <optional>
25
+ <attribute name="alt"/>
26
+ </optional>
27
+ <optional>
28
+ <attribute name="case">
29
+ <choice>
30
+ <value>capital</value>
31
+ <value>lowercase</value>
32
+ </choice>
33
+ </attribute>
34
+ </optional>
35
+ <optional>
36
+ <attribute name="droploc">
37
+ <data type="boolean"/>
38
+ </attribute>
39
+ </optional>
40
+ <optional>
41
+ <attribute name="pagenumber">
42
+ <data type="boolean"/>
43
+ </attribute>
44
+ </optional>
45
+ <text/>
46
+ </element>
47
+ </define>
48
+ <define name="DocumentType">
49
+ <choice>
50
+ <value>brochure</value>
51
+ <value>mise-en-pratique</value>
52
+ <value>rapport</value>
53
+ <value>monographie</value>
54
+ <value>guide</value>
55
+ <value>meeting-report</value>
56
+ <value>technical-report</value>
57
+ <value>working-party-note</value>
58
+ <value>strategy</value>
59
+ <value>cipm-mra</value>
60
+ <value>resolution</value>
61
+ </choice>
62
+ </define>
63
+ <define name="editorialgroup">
64
+ <element name="editorialgroup">
65
+ <oneOrMore>
66
+ <ref name="committee"/>
67
+ </oneOrMore>
68
+ <oneOrMore>
69
+ <ref name="workgroup"/>
70
+ </oneOrMore>
71
+ </element>
72
+ </define>
73
+ <define name="structuredidentifier">
74
+ <element name="structuredidentifier">
75
+ <element name="docnumber">
76
+ <text/>
77
+ </element>
78
+ <optional>
79
+ <element name="part">
80
+ <text/>
81
+ </element>
82
+ </optional>
83
+ <optional>
84
+ <element name="appendix">
85
+ <text/>
86
+ </element>
87
+ </optional>
88
+ </element>
89
+ </define>
90
+ <define name="BibDataExtensionType">
91
+ <optional>
92
+ <ref name="doctype"/>
93
+ </optional>
94
+ <ref name="editorialgroup"/>
95
+ <optional>
96
+ <ref name="comment-period"/>
97
+ </optional>
98
+ <optional>
99
+ <ref name="si-aspect"/>
100
+ </optional>
101
+ <ref name="structuredidentifier"/>
102
+ </define>
103
+ </include>
104
+ <define name="comment-period">
105
+ <element name="comment-period">
106
+ <element name="from">
107
+ <ref name="ISO8601Date"/>
108
+ </element>
109
+ <element name="to">
110
+ <ref name="ISO8601Date"/>
111
+ </element>
112
+ </element>
113
+ </define>
114
+ <define name="si-aspect">
115
+ <element name="si-aspect">
116
+ <choice>
117
+ <value>A_e_deltanu</value>
118
+ <value>A_e</value>
119
+ <value>cd_Kcd_h_deltanu</value>
120
+ <value>cd_Kcd</value>
121
+ <value>full</value>
122
+ <value>K_k_deltanu</value>
123
+ <value>K_k</value>
124
+ <value>kg_h_c_deltanu</value>
125
+ <value>kg_h</value>
126
+ <value>m_c_deltanu</value>
127
+ <value>m_c</value>
128
+ <value>mol_NA</value>
129
+ <value>s_deltanu</value>
130
+ </choice>
131
+ </element>
132
+ </define>
133
+ <define name="committee">
134
+ <element name="committee">
135
+ <choice>
136
+ <value>CGPM</value>
137
+ <value>CIPM</value>
138
+ <value>BIPM</value>
139
+ <value>CCAUV</value>
140
+ <value>CCEM</value>
141
+ <value>CCL</value>
142
+ <value>CCM</value>
143
+ <value>CCPR</value>
144
+ <value>CCQM</value>
145
+ <value>CCRI</value>
146
+ <value>CCT</value>
147
+ <value>CCTF</value>
148
+ <value>CCU</value>
149
+ <value>CCL-CCTF</value>
150
+ <value>JCGM</value>
151
+ <value>JCRB</value>
152
+ <value>JCTLM</value>
153
+ <value>INetQI</value>
154
+ </choice>
155
+ </element>
156
+ </define>
157
+ <define name="workgroup">
158
+ <element name="workgroup">
159
+ <text/>
160
+ </element>
161
+ </define>
162
+ <define name="bipm-standard">
163
+ <element name="bipm-standard">
164
+ <attribute name="version"/>
165
+ <attribute name="type">
166
+ <choice>
167
+ <value>semantic</value>
168
+ <value>presentation</value>
169
+ </choice>
170
+ </attribute>
171
+ <ref name="bibdata"/>
172
+ <zeroOrMore>
173
+ <ref name="termdocsource"/>
174
+ </zeroOrMore>
175
+ <optional>
176
+ <ref name="boilerplate"/>
177
+ </optional>
178
+ <ref name="preface"/>
179
+ <oneOrMore>
180
+ <ref name="sections"/>
181
+ </oneOrMore>
182
+ <zeroOrMore>
183
+ <ref name="annex"/>
184
+ </zeroOrMore>
185
+ <ref name="bibliography"/>
186
+ </element>
187
+ </define>
188
+ </grammar>
@@ -42,7 +42,6 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
- <!-- attribute target { xsd:IDREF }, -->
46
45
  <attribute name="target">
47
46
  <data type="string">
48
47
  <param name="pattern">\i\c*|\c+#\c+</param>
@@ -864,6 +863,13 @@
864
863
  </define>
865
864
  <define name="standard-document">
866
865
  <element name="standard-document">
866
+ <attribute name="version"/>
867
+ <attribute name="type">
868
+ <choice>
869
+ <value>semantic</value>
870
+ <value>presentation</value>
871
+ </choice>
872
+ </attribute>
867
873
  <ref name="bibdata"/>
868
874
  <optional>
869
875
  <ref name="boilerplate"/>
@@ -1,6 +1,7 @@
1
1
  require "relaton_bib"
2
2
  require "relaton_bipm/version"
3
- require "relaton_bipm/project_team"
3
+ require "relaton_bipm/editorial_group"
4
+ require "relaton_bipm/structured_identifier"
4
5
  require "relaton_bipm/bibliographic_date"
5
6
  require "relaton_bipm/document_relation"
6
7
  require "relaton_bipm/comment_periond"
@@ -8,26 +8,35 @@ module RelatonBipm
8
8
 
9
9
  STATUSES = %w[draft-proposal draft-development in-force retired].freeze
10
10
 
11
- # @return [Array<RelatonBipm::BipmProjectTeam>]
12
- attr_reader :project_group
11
+ SI_ASPECTS = %w[
12
+ A_e_deltanu A_e cd_Kcd_h_deltanu cd_Kcd full K_k_deltanu K_k
13
+ kg_h_c_deltanu kg_h m_c_deltanu m_c mol_NA s_deltanu
14
+ ].freeze
13
15
 
14
- # @return [RelatonIho::CommentPeriod, NilClass]
15
- attr_reader :commentperiod
16
+ # @return [RelatonBipm::CommentPeriod, NilClass]
17
+ attr_reader :comment_period
18
+
19
+ # @return [String]
20
+ attr_reader :si_aspect
16
21
 
17
- # @param project_group [Array<RelatonBipm::ProjectTeam>]
18
- # @param title [Array<RelatonBib::FormattedString>]
19
- # @param date [Array<RelatonBipm::BibliographicDate>]
20
22
  # @param relation [Array<RelatonBipm::DocumentRelation>]
21
- # @param docstatus [RelatonBipm::DocumentStatus, nil]
22
- # @param commentperiod [RelatonBipm::CommentPeriod, NilClass]
23
- def initialize(**args)
24
- if args[:docstatus] && !STATUSES.include?(args[:docstatus].status)
23
+ # @param editorialgroup [RelatonBipm::EditorialGroup]
24
+ # @param comment_period [RelatonBipm::CommentPeriod, NilClass]
25
+ # @param si_aspect [String]
26
+ # @param structuredidentifier [RelatonBipm::StructuredIdentifier]
27
+ def initialize(**args) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
28
+ if args[:docstatus] && !STATUSES.include?(args[:docstatus].stage)
25
29
  warn "[relaton-bipm] Warning: invalid docstatus #{args[:docstatus]}. "\
26
30
  "It should be one of: #{STATUSES}"
27
31
  end
28
- @project_group = args.delete(:project_group) || []
29
- # @status = args.delete :docstatus
30
- @commentperiod = args.delete :commentperiod
32
+
33
+ if args[:si_aspect] && !SI_ASPECTS.include?(args[:si_aspect])
34
+ warn "[relaton-bipm] Warning: invalid si_aspect #{args[:si_aspect]}. "\
35
+ "It should be one of: #{SI_ASPECTS}"
36
+ end
37
+
38
+ @comment_period = args.delete :comment_period
39
+ @si_aspect = args.delete :si_aspect
31
40
  super
32
41
  end
33
42
 
@@ -37,15 +46,16 @@ module RelatonBipm
37
46
  # @option opts [String] :lang language
38
47
  # @return [String] XML
39
48
  def to_xml(**opts) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
40
- super ext: !commentperiod.nil?, **opts do |b|
49
+ super ext: !comment_period.nil?, **opts do |b|
41
50
  if opts[:bibdata] && (doctype || editorialgroup&.presence? ||
42
- ics.any? || commentperiod)
51
+ si_aspect || comment_period ||
52
+ structuredidentifier)
43
53
  b.ext do
44
54
  b.doctype doctype if doctype
45
55
  editorialgroup&.to_xml b
46
- ics.each { |i| i.to_xml b }
47
- project_group.each { |pg| pg.to_xml b }
48
- commentperiod&.to_xml b
56
+ comment_period&.to_xml b
57
+ b.send "si-aspect", si_aspect if si_aspect
58
+ structuredidentifier&.to_xml b
49
59
  end
50
60
  end
51
61
  end
@@ -54,17 +64,18 @@ module RelatonBipm
54
64
  # @return [Hash]
55
65
  def to_hash
56
66
  hash = super
57
- hash["project_group"] = single_element_array project_group
58
- hash["commentperiod"] = commentperiod.to_hash if commentperiod
67
+ hash["comment_period"] = comment_period.to_hash if comment_period
68
+ hash["si_aspect"] = si_aspect if si_aspect
59
69
  hash
60
70
  end
61
71
 
62
72
  # @param prefix [String]
63
73
  # @return [String]
64
74
  def to_asciibib(prefix = "")
75
+ pref = prefix.empty? ? prefix : prefix + "."
65
76
  out = super
66
- project_group.each { |p| out += p.to_asciibib prefix, project_group.size }
67
- out += commentperiod.to_asciibib prefix if commentperiod
77
+ out += comment_period.to_asciibib prefix if comment_period
78
+ out += "#{pref}.si_aspect:: #{si_aspect}\n" if si_aspect
68
79
  out
69
80
  end
70
81
  end
@@ -15,7 +15,7 @@ module RelatonBipm
15
15
 
16
16
  # @param builder [Nokogiri::XML::builder]
17
17
  def to_xml(builder)
18
- builder.commentperiod do
18
+ builder.send "comment-period" do
19
19
  builder.from from.to_s
20
20
  builder.to to.to_s if to
21
21
  end
@@ -0,0 +1,56 @@
1
+ module RelatonBipm
2
+ class EditorialGroup
3
+ include RelatonBib
4
+
5
+ COMMITTEES = %w[CGPM CIPM BIPM CCAUV CCEM CCL CCM CCPR CCQM CCRI CCT CCTF
6
+ CCU CCL-CCT JCGM JCRB JCTLM INetQI].freeze
7
+
8
+ # @return [Array<String>]
9
+ attr_reader :committee, :workgroup
10
+
11
+ # @param committee [Array<String>]
12
+ # @param workgroup [Array<String>]
13
+ def initialize(committee:, workgroup:)
14
+ committee.each do |c|
15
+ unless COMMITTEES.include? c
16
+ warn "[relaton-bipm] invalid committee: #{c}"
17
+ end
18
+ end
19
+
20
+ @committee = committee
21
+ @workgroup = workgroup
22
+ end
23
+
24
+ # @param builder [Nokogiri::XML::Builder]
25
+ def to_xml(builder)
26
+ builder.editorialgroup do |b|
27
+ committee.each { |c| b.committee c }
28
+ workgroup.each { |c| b.workgroup c }
29
+ end
30
+ end
31
+
32
+ # @param prefix [String]
33
+ # @return [String]
34
+ def to_asciibib(prefix = "")
35
+ pref = prefix.empty? ? prefix : prefix + "."
36
+ pref += "editorialgroup"
37
+ out = ""
38
+ committee.each { |c| out += "#{pref}.committee:: #{c}\n" }
39
+ workgroup.each { |w| out += "#{pref}.workgroup:: #{w}\n" }
40
+ out
41
+ end
42
+
43
+ # @return [Hash]
44
+ def to_hash
45
+ {
46
+ "committee" => single_element_array(committee),
47
+ "workgroup" => single_element_array(workgroup),
48
+ }
49
+ end
50
+
51
+ # @return [true]
52
+ def presence?
53
+ true
54
+ end
55
+ end
56
+ end
@@ -11,7 +11,7 @@ module RelatonBipm
11
11
  ret = super
12
12
  return if ret.nil?
13
13
 
14
- project_group_hash_to_bib ret
14
+ # project_group_hash_to_bib ret
15
15
  commentperiod_hash_to_bib ret
16
16
  ret
17
17
  end
@@ -37,23 +37,18 @@ module RelatonBipm
37
37
  end
38
38
  end
39
39
 
40
- # @param ret [Hash]
41
- def docstatus_hash_to_bib(ret)
42
- ret[:docstatus] &&= DocumentStatus.new ret[:docstatus]
43
- end
44
-
45
40
  # @param ret [Hash]
46
41
  def commentperiod_hash_to_bib(ret)
47
- ret[:commentperiod] &&= CommentPeriond.new(ret[:commentperiod])
42
+ ret[:comment_period] &&= CommentPeriond.new(ret[:comment_period])
48
43
  end
49
44
 
50
45
  # @param ret [Hash]
51
- def project_group_hash_to_bib(ret)
52
- ret[:project_group] &&= array(ret[:project_group]).map do |pg|
53
- wg = RelatonBib::FormattedString.new pg[:workgroup]
54
- ProjectTeam.new(committee: pg[:committee], workgroup: wg)
55
- end
56
- end
46
+ # def project_group_hash_to_bib(ret)
47
+ # ret[:project_group] &&= array(ret[:project_group]).map do |pg|
48
+ # wg = RelatonBib::FormattedString.new pg[:workgroup]
49
+ # ProjectTeam.new(committee: pg[:committee], workgroup: wg)
50
+ # end
51
+ # end
57
52
 
58
53
  # @param ret [Hash]
59
54
  def dates_hash_to_bib(ret)
@@ -70,6 +65,18 @@ module RelatonBipm
70
65
  RelatonBipm::DocumentRelation.new r
71
66
  end
72
67
  end
68
+
69
+ # @param ret [Hash]
70
+ def editorialgroup_hash_to_bib(ret)
71
+ ret[:editorialgroup] &&= EditorialGroup.new ret[:editorialgroup]
72
+ end
73
+
74
+ # @param ret [Hash]
75
+ def structuredidentifier_hash_to_bib(ret)
76
+ ret[:structuredidentifier] &&= StructuredIdentifier.new(
77
+ **ret[:structuredidentifier]
78
+ )
79
+ end
73
80
  end
74
81
  end
75
82
  end
@@ -0,0 +1,51 @@
1
+ module RelatonBipm
2
+ class StructuredIdentifier
3
+ # @return [String]
4
+ attr_reader :docnumber
5
+
6
+ # @return [String, nil]
7
+ attr_reader :part, :appendix
8
+
9
+ # @param docnumber [String]
10
+ # @param part [String]
11
+ # @param appendix [String]
12
+ def initialize(docnumber:, part: nil, appendix: nil)
13
+ @docnumber = docnumber
14
+ @part = part
15
+ @appendix = appendix
16
+ end
17
+
18
+ # @param builder [Nokogiri::XML::Builder]
19
+ def to_xml(builder)
20
+ builder.structuredidentifier do |b|
21
+ b.docnumber docnumber
22
+ b.part part if part
23
+ b.appendix appendix if appendix
24
+ end
25
+ end
26
+
27
+ # @return [Hash]
28
+ def to_hash
29
+ hash = { "docnumber" => docnumber }
30
+ hash["part"] = part if part
31
+ hash["appendix"] = appendix if appendix
32
+ hash
33
+ end
34
+
35
+ # @param prefix [String]
36
+ # @return [String]
37
+ def to_asciibib(prefix = "")
38
+ pref = prefix.empty? ? prefix : prefix + "."
39
+ pref += "structuredidentifier"
40
+ out = "#{pref}.docnumber:: #{docnumber}\n"
41
+ out += "#{pref}.part:: #{part}\n" if part
42
+ out += "#{pref}.appendix:: #{appendix}\n" if appendix
43
+ out
44
+ end
45
+
46
+ # @return [true]
47
+ def presence?
48
+ true
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonBipm
2
- VERSION = "1.5.pre".freeze
2
+ VERSION = "1.5.0".freeze
3
3
  end
@@ -11,8 +11,8 @@ module RelatonBipm
11
11
  ext = item.at "./ext"
12
12
  return data unless ext
13
13
 
14
- data[:project_group] = fetch_project_group ext
15
- data[:commentperiod] = fetch_commentperiond ext
14
+ data[:comment_period] = fetch_commentperiond ext
15
+ data[:si_aspect] = ext.at("si-aspect")&.text
16
16
  data
17
17
  end
18
18
 
@@ -22,18 +22,6 @@ module RelatonBipm
22
22
  BipmBibliographicItem.new item_hash
23
23
  end
24
24
 
25
- def fetch_project_group(ext)
26
- ext.xpath("./project-group").map do |pg|
27
- wg = pg.at "workgroup"
28
- workgroup = RelatonBib::FormattedString.new(
29
- content: wg.text, language: wg[:language], script: wg[:script],
30
- format: wg[:format]
31
- )
32
- ProjectTeam.new(committee: pg.at("committee").text,
33
- workgroup: workgroup)
34
- end
35
- end
36
-
37
25
  # @param item [Nokogiri::XML::Element]
38
26
  # @return [Array<RelatonBib::FormattedString>]
39
27
  def fetch_titles(item)
@@ -60,26 +48,38 @@ module RelatonBipm
60
48
 
61
49
  # @param item [Nokogiri::XML::Element]
62
50
  # @param klass [RelatonBipm::DocumentRelation.class]
63
- # @return [Array<RelatonBib::DocumentRelation>]
51
+ # @return [Array<RelatonBipm::DocumentRelation>]
64
52
  def fetch_relations(item, klass = DocumentRelation)
65
53
  super
66
54
  end
67
55
 
68
- # @param item [Nokogiri::XML::Element]
69
- # @return [RelatonBipm::DocumentStatus]
70
- def fetch_status(item)
71
- status = item.at("./status")
72
- return unless status
56
+ # @param ext [Nokogiri::XML::Element]
57
+ # @return [RelatonBipm::CommentPeriod, nil]
58
+ def fetch_commentperiond(ext)
59
+ return unless ext && (cp = ext.at "comment-period")
73
60
 
74
- DocumentStatus.new status.text
61
+ CommentPeriond.new from: cp.at("from")&.text, to: cp.at("to")&.text
75
62
  end
76
63
 
77
64
  # @param ext [Nokogiri::XML::Element]
78
- # @return [RelatonIho::CommentPeriod, nil]
79
- def fetch_commentperiond(ext)
80
- return unless ext && (cp = ext.at "commentperiod")
65
+ # @return [RelatonBipm::EditorialGroup, nil]
66
+ def fetch_editorialgroup(ext)
67
+ return unless ext && (eg = ext.at "editorialgroup")
81
68
 
82
- CommentPeriond.new from: cp.at("from")&.text, to: cp.at("to")&.text
69
+ cm = eg.xpath("committee").map &:text
70
+ wg = eg.xpath("workgroup").map &:text
71
+ EditorialGroup.new committee: cm, workgroup: wg
72
+ end
73
+
74
+ # @param ext [Nokogiri::XML::Element]
75
+ # @return [RelatonBipm::StructuredIdentifier]
76
+ def fetch_structuredidentifier(ext)
77
+ return unless ext && (sid = ext.at("structuredidentifier"))
78
+
79
+ StructuredIdentifier.new(
80
+ docnumber: sid.at("docnumber").text, part: sid.at("part")&.text,
81
+ appendix: sid.at("appendix")&.text
82
+ )
83
83
  end
84
84
  end
85
85
  end
@@ -38,9 +38,10 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
38
38
  spec.add_development_dependency "pry-byebug"
39
39
  spec.add_development_dependency "rake", "~> 10.0"
40
40
  spec.add_development_dependency "ruby-debug-ide"
41
+ spec.add_development_dependency "ruby-jing"
41
42
  spec.add_development_dependency "simplecov"
42
43
  spec.add_development_dependency "vcr"
43
44
  spec.add_development_dependency "webmock"
44
45
 
45
- spec.add_dependency "relaton-bib", "~> 1.5.pre"
46
+ spec.add_dependency "relaton-bib", "~> 1.5.0"
46
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-bipm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.pre
4
+ version: 1.5.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: 2020-10-07 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: ruby-jing
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: simplecov
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +156,14 @@ dependencies:
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 1.5.pre
159
+ version: 1.5.0
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 1.5.pre
166
+ version: 1.5.0
153
167
  description: 'RelatonBipm: retrieve BIPM Standards for bibliographic use using the
154
168
  BibliographicItem model'
155
169
  email:
@@ -173,6 +187,7 @@ files:
173
187
  - bin/setup
174
188
  - grammars/basicdoc.rng
175
189
  - grammars/biblio.rng
190
+ - grammars/bipm.rng
176
191
  - grammars/isodoc.rng
177
192
  - grammars/reqt.rng
178
193
  - lib/relaton_bipm.rb
@@ -182,9 +197,10 @@ files:
182
197
  - lib/relaton_bipm/comment_periond.rb
183
198
  - lib/relaton_bipm/document_relation.rb
184
199
  - lib/relaton_bipm/document_status.rb
200
+ - lib/relaton_bipm/editorial_group.rb
185
201
  - lib/relaton_bipm/hash_converter.rb
186
202
  - lib/relaton_bipm/processor.rb
187
- - lib/relaton_bipm/project_team.rb
203
+ - lib/relaton_bipm/structured_identifier.rb
188
204
  - lib/relaton_bipm/version.rb
189
205
  - lib/relaton_bipm/xml_parser.rb
190
206
  - relaton_bipm.gemspec
@@ -205,9 +221,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
221
  version: 2.4.0
206
222
  required_rubygems_version: !ruby/object:Gem::Requirement
207
223
  requirements:
208
- - - ">"
224
+ - - ">="
209
225
  - !ruby/object:Gem::Version
210
- version: 1.3.1
226
+ version: '0'
211
227
  requirements: []
212
228
  rubygems_version: 3.0.6
213
229
  signing_key:
@@ -1,48 +0,0 @@
1
- module RelatonBipm
2
- class ProjectTeam
3
- COMMITTEES = %w[cgpm cipm bipm ccauv ccem ccl ccm ccpr ccqm ccri cct cctf
4
- ccu ccl-cctfwg jcgm jcrb jctlm inetqi].freeze
5
-
6
- # @return [String]
7
- attr_reader :committee
8
-
9
- # @return [RelatonBib::FormattedString]
10
- attr_reader :workgroup
11
-
12
- # @param committee [String]
13
- # @param workgroup [RelatonBib::FormattedString]
14
- def initialize(committee:, workgroup:)
15
- unless COMMITTEES.include? committee
16
- warn "[relaton-bipm] Warning: invalid committee: #{committee}. "\
17
- "It should be one of: #{COMMITTEES}"
18
- end
19
- @committee = committee
20
- @workgroup = workgroup
21
- end
22
-
23
- # @param builder [Nokogiri::XML::Builder]
24
- def to_xml(builder)
25
- builder.send "project-group" do |b|
26
- b.committee committee
27
- b.workgroup { workgroup.to_xml b }
28
- end
29
- end
30
-
31
- # @return [Hash]
32
- def to_hash
33
- { "committee" => committee, "workgroup" => workgroup.to_hash }
34
- end
35
-
36
- # @param prefix [String]
37
- # 2param count [Integer]
38
- # @return [String]
39
- def to_asciibib(prefix = "", count = 1)
40
- pref = prefix.empty? ? prefix : prefix + "."
41
- pref += "project_group"
42
- out = count > 1 ? "#{pref}::\n" : ""
43
- out += "#{pref}.committee:: #{committee}\n"
44
- out += workgroup.to_asciibib prefix
45
- out
46
- end
47
- end
48
- end