pubid-bsi 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a23f485f876d0c481d572df9a92cb60e2a61e1572f93605723366d341f2d7704
4
+ data.tar.gz: 10d63e91c4330d2a0f1192a46d7062b252308c4a1ec75946379d89d6e90d87a9
5
+ SHA512:
6
+ metadata.gz: 871a55125a1691fe020e80574de9ac45d526d736427d5b736625458b45004174f12288ef244e37ec10c06d4c4a60d59fbce4653d8f1ee83d06044850f0bad7fc
7
+ data.tar.gz: eb5570d84e4cdb28c460aac841ce3e8813fda6ce13328004d30891801070ec78d5f871dc4a392156f28d68d8a6a87575453c1ada18c8aba6b0f2d6478f3ed02a
data/LICENSE.txt ADDED
@@ -0,0 +1,25 @@
1
+ BSD 2-Clause License
2
+
3
+ Copyright (c) 2018, Ribose
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.adoc ADDED
@@ -0,0 +1,51 @@
1
+ = BSI publication identifiers ("BSI PubID")
2
+
3
+ == Purpose
4
+
5
+ This gem implements a mechanism to parse and utilize BSI publication
6
+ identifiers.
7
+
8
+ == Use cases to support
9
+
10
+ . generate updated PubID
11
+
12
+ == Usage
13
+
14
+ === Identifier creation
15
+
16
+ Basic usage of the pubid-bsi gem starts with the `Identifier#create` method.
17
+
18
+ [source,ruby]
19
+ ----
20
+ require "pubid-bsi"
21
+
22
+ pubid = Pubid::Bsi::Identifier.create(number: 1234, part: 1, year: 1999)
23
+ pubid.to_s
24
+
25
+ => "BS 1234-1:1999"
26
+ ----
27
+
28
+ === With document type
29
+
30
+ [source,ruby]
31
+ ----
32
+ pubid = Pubid::Bsi::Identifier.create(type: :pas, number: 1234)
33
+ pubid.to_s
34
+
35
+ => "PAS 1234"
36
+ ----
37
+
38
+ === Identifier's class and type
39
+
40
+ `Identifier#parse` resolves a parsed identifier according to the type.
41
+
42
+ [source,ruby]
43
+ ----
44
+ Pubid::Iso::Identifier.parse("PAS 1234").class
45
+ # => Pubid::Bsi::Identifier::PubliclyAvailableSpecification
46
+ Pubid::Iso::Identifier.parse("PAS 1234").type
47
+ # => {:key=>:pas, :title=>"Publicly Available Specification"}
48
+ Pubid::Iso::Identifier.parse("BS 1234").class
49
+ # => Pubid::Bsi::Identifier::BritishStandard
50
+ Pubid::Iso::Identifier.parse("BS 1234").type
51
+ # => {:key=>:bs, :title=>"British Standard"}
@@ -0,0 +1,5 @@
1
+ module Pubid::Bsi
2
+ module Errors
3
+ class ParseTypeError < StandardError; end
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class Amendment < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::Amendment', :type
5
+
6
+ def self.type
7
+ { key: :amd, title: "Amendment" }
8
+ end
9
+
10
+ def self.get_renderer_class
11
+ Renderer::Amendment
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,44 @@
1
+ require 'forwardable'
2
+
3
+ module Pubid::Bsi
4
+ module Identifier
5
+ class Base < Pubid::Core::Identifier::Base
6
+ attr_accessor :month, :supplement, :adopted
7
+ extend Forwardable
8
+
9
+ # @param month [Integer] document's month
10
+ # @param edition [String] document's edition version, e.g. "3.0", "1.0"
11
+ def initialize(publisher: "BS", month: nil, edition: nil,
12
+ supplement: nil, number: nil, adopted: nil, **opts)
13
+ super(**opts.merge(publisher: publisher, number: number))
14
+ @month = month if month
15
+ @edition = edition if edition
16
+ @supplement = supplement
17
+ @adopted = adopted
18
+ end
19
+
20
+ class << self
21
+ # Use Identifier#create to resolve identifier's type class
22
+ def transform(params)
23
+ identifier_params = params.map do |k, v|
24
+ get_transformer_class.new.apply(k => v)
25
+ end.inject({}, :merge)
26
+
27
+ Identifier.create(**identifier_params)
28
+ end
29
+
30
+ def get_parser_class
31
+ Parser
32
+ end
33
+
34
+ def get_renderer_class
35
+ Renderer::Base
36
+ end
37
+
38
+ def get_transformer_class
39
+ Transformer
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,11 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class BritishStandard < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::BritishStandard', :type
5
+
6
+ def self.type
7
+ { key: :bs, title: "British Standard", short: "BS" }
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class Corrigendum < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::Corrigendum', :type
5
+
6
+ def self.type
7
+ { key: :cor, title: "corrigendum" }
8
+ end
9
+
10
+ def self.get_renderer_class
11
+ Renderer::Corrigendum
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class DraftDocument < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::DraftDocument', :type
5
+
6
+ def self.type
7
+ { key: :dd, title: "Draft Document", short: "DD" }
8
+ end
9
+
10
+ def self.get_renderer_class
11
+ Renderer::DraftDocument
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class Flex < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::Flex', :type
5
+
6
+ def self.type
7
+ { key: :flex, title: "Flex", short: "Flex" }
8
+ end
9
+
10
+ def self.get_renderer_class
11
+ Renderer::Flex
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class PubliclyAvailableSpecification < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::PubliclyAvailableSpecification', :type
5
+
6
+ def self.type
7
+ { key: :pas, title: "Publicly Available Specification", short: "PAS" }
8
+ end
9
+
10
+ def self.get_renderer_class
11
+ Renderer::PubliclyAvailableSpecification
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class PublishedDocument < Base
4
+ def_delegators 'Pubid::Bsi::Identifier::PublishedDocument', :type
5
+
6
+ def self.type
7
+ { key: :pd, title: "Published Document", short: "PD" }
8
+ end
9
+
10
+ def self.get_renderer_class
11
+ Renderer::PublishedDocument
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ module Pubid::Bsi
2
+ module Identifier
3
+ class << self
4
+ include Pubid::Core::Identifier
5
+
6
+ # @see Pubid::Identifier::Base.parse
7
+ def parse(*args)
8
+ Pubid::Iec::Identifier.parse(*args)
9
+ rescue Pubid::Core::Errors::ParseError
10
+ begin
11
+ Base.parse(*args)
12
+ rescue Pubid::Core::Errors::ParseError
13
+ Pubid::Iso::Identifier.parse(*args)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,31 @@
1
+ module Pubid::Bsi
2
+ class Parser < Pubid::Core::Parser
3
+ rule(:type) do
4
+ array_to_str(Identifier.config.types.map { |type| type.type[:short] }.compact).as(:type)
5
+ end
6
+
7
+ rule(:part) do
8
+ str("-") >> digits.as(:part)
9
+ end
10
+
11
+ rule(:edition) do
12
+ str("v") >> (digits >> dot >> digits).as(:edition)
13
+ end
14
+
15
+ rule(:supplement) do
16
+ (str("+") >> match("[AC]").as(:type) >> digits.as(:number) >> str(":") >> year).as(:supplement)
17
+ end
18
+
19
+ rule(:identifier) do
20
+ str("BSI ").maybe >> type >> space >>
21
+ (
22
+ (digits.as(:number) >> part.maybe >> (space >> edition).maybe >>
23
+ (space? >> str(":") >> year >> (dash >> month_digits.as(:month)).maybe).maybe >>
24
+ supplement.maybe) |
25
+ match(".").repeat(1).as(:adopted)
26
+ )
27
+ end
28
+
29
+ rule(:root) { identifier }
30
+ end
31
+ end
@@ -0,0 +1,9 @@
1
+ require_relative "base"
2
+
3
+ module Pubid::Bsi::Renderer
4
+ class Amendment < Pubid::Core::Renderer::Base
5
+ def render_identifier(params)
6
+ "+A%{number}%{year}" % params
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,23 @@
1
+ module Pubid::Bsi::Renderer
2
+ class Base < Pubid::Core::Renderer::Base
3
+ TYPE = "".freeze
4
+
5
+ def render_identifier(params)
6
+ return "%{publisher} %{adopted}" % params unless params[:adopted].to_s.empty?
7
+
8
+ "%{publisher} %{number}%{part}%{edition}%{year}%{month}%{supplement}" % params
9
+ end
10
+
11
+ def render_month(month, _opts, _params)
12
+ "-#{month}"
13
+ end
14
+
15
+ def render_edition(edition, _opts, _params)
16
+ " v#{edition}"
17
+ end
18
+
19
+ def render_supplement(supplement, _opts, _params)
20
+ supplement.to_s
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ require_relative "base"
2
+
3
+ module Pubid::Bsi::Renderer
4
+ class Corrigendum < Pubid::Core::Renderer::Base
5
+ def render_identifier(params)
6
+ "+C%{number}%{year}" % params
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ require_relative "base"
2
+
3
+ module Pubid::Bsi::Renderer
4
+ class DraftDocument < Base
5
+
6
+ TYPE = "DD".freeze
7
+
8
+ def render_publisher(_publisher, _, _)
9
+ TYPE
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require_relative "base"
2
+
3
+ module Pubid::Bsi::Renderer
4
+ class Flex < Base
5
+
6
+ TYPE = "Flex".freeze
7
+
8
+ def render_publisher(_publisher, _, _)
9
+ "BSI #{TYPE}"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require_relative "base"
2
+
3
+ module Pubid::Bsi::Renderer
4
+ class PubliclyAvailableSpecification < Base
5
+
6
+ TYPE = "PAS".freeze
7
+
8
+ def render_publisher(_publisher, _, _)
9
+ TYPE
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require_relative "base"
2
+
3
+ module Pubid::Bsi::Renderer
4
+ class PublishedDocument < Base
5
+
6
+ TYPE = "PD".freeze
7
+
8
+ def render_publisher(_publisher, _, _)
9
+ TYPE
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,23 @@
1
+ require_relative "identifier/base"
2
+ require_relative "renderer/base"
3
+
4
+ module Pubid::Bsi
5
+ class Transformer < Parslet::Transform
6
+ rule(supplement: subtree(:supplement)) do |context|
7
+ { supplement:
8
+ case context[:supplement][:type]
9
+ when "A"
10
+ Identifier::Amendment.new(**context[:supplement])
11
+ when "C"
12
+ Identifier::Corrigendum.new(**context[:supplement])
13
+ end
14
+ }
15
+ end
16
+
17
+ rule(adopted: subtree(:adopted)) do |context|
18
+ { adopted: Pubid::Iec::Identifier.parse(context[:adopted].to_s) }
19
+ rescue Pubid::Core::Errors::ParseError
20
+ { adopted: Pubid::Iso::Identifier.parse(context[:adopted].to_s) }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,17 @@
1
+ module Pubid::Bsi
2
+ class Type < Pubid::Core::Type
3
+
4
+ DEFAULT_TYPE = :bs
5
+
6
+ TYPE_NAMES = {
7
+ bs: {
8
+ long: "British Standard",
9
+ short: "BS",
10
+ },
11
+ pas: {
12
+ long: "Publicly Available Specification",
13
+ short: "PAS",
14
+ },
15
+ }.freeze
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ module Pubid
2
+ module Bsi
3
+ VERSION = "0.1.1".freeze
4
+ end
5
+ end
data/lib/pubid/bsi.rb ADDED
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "parslet"
4
+
5
+ module Pubid
6
+ end
7
+
8
+ require "pubid-core"
9
+ require "pubid-iso"
10
+ require "pubid-iec"
11
+
12
+ require_relative "bsi/errors"
13
+ require_relative "bsi/transformer"
14
+ require_relative "bsi/identifier/base"
15
+ require_relative "bsi/identifier/british_standard"
16
+ require_relative "bsi/identifier/publicly_available_specification"
17
+ require_relative "bsi/identifier/published_document"
18
+ require_relative "bsi/identifier/draft_document"
19
+ require_relative "bsi/identifier/flex"
20
+ require_relative "bsi/identifier/amendment"
21
+ require_relative "bsi/identifier/corrigendum"
22
+ require_relative "bsi/renderer/base"
23
+ require_relative "bsi/renderer/publicly_available_specification"
24
+ require_relative "bsi/renderer/published_document"
25
+ require_relative "bsi/renderer/draft_document"
26
+ require_relative "bsi/renderer/flex"
27
+ require_relative "bsi/renderer/amendment"
28
+ require_relative "bsi/renderer/corrigendum"
29
+ require_relative "bsi/parser"
30
+ require_relative "bsi/identifier"
31
+
32
+ config = Pubid::Core::Configuration.new
33
+ config.default_type = Pubid::Bsi::Identifier::BritishStandard
34
+ config.types = [Pubid::Bsi::Identifier::BritishStandard,
35
+ Pubid::Bsi::Identifier::Flex,
36
+ Pubid::Bsi::Identifier::PubliclyAvailableSpecification,
37
+ Pubid::Bsi::Identifier::PublishedDocument,
38
+ Pubid::Bsi::Identifier::DraftDocument,
39
+ Pubid::Bsi::Identifier::Amendment,
40
+ Pubid::Bsi::Identifier::Corrigendum]
41
+ config.type_names = {
42
+ bs: {
43
+ long: "British Standard",
44
+ short: "BS",
45
+ },
46
+ pas: {
47
+ long: "Publicly Available Specification",
48
+ short: "PAS",
49
+ },
50
+ }.freeze
51
+ Pubid::Bsi::Identifier.set_config(config)
data/lib/pubid-bsi.rb ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "pubid/bsi"
metadata ADDED
@@ -0,0 +1,196 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pubid-bsi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Ribose Inc.
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-04-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: lightly
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: parslet
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pubid-core
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.7.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.7.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: pubid-iso
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.5.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.5.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: pubid-iec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.2.0
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.2.0
139
+ description: Library to generate, parse and manipulate ISO PubID.
140
+ email:
141
+ - open.source@ribose.com
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files:
145
+ - README.adoc
146
+ - LICENSE.txt
147
+ files:
148
+ - LICENSE.txt
149
+ - README.adoc
150
+ - lib/pubid-bsi.rb
151
+ - lib/pubid/bsi.rb
152
+ - lib/pubid/bsi/errors.rb
153
+ - lib/pubid/bsi/identifier.rb
154
+ - lib/pubid/bsi/identifier/amendment.rb
155
+ - lib/pubid/bsi/identifier/base.rb
156
+ - lib/pubid/bsi/identifier/british_standard.rb
157
+ - lib/pubid/bsi/identifier/corrigendum.rb
158
+ - lib/pubid/bsi/identifier/draft_document.rb
159
+ - lib/pubid/bsi/identifier/flex.rb
160
+ - lib/pubid/bsi/identifier/publicly_available_specification.rb
161
+ - lib/pubid/bsi/identifier/published_document.rb
162
+ - lib/pubid/bsi/parser.rb
163
+ - lib/pubid/bsi/renderer/amendment.rb
164
+ - lib/pubid/bsi/renderer/base.rb
165
+ - lib/pubid/bsi/renderer/corrigendum.rb
166
+ - lib/pubid/bsi/renderer/draft_document.rb
167
+ - lib/pubid/bsi/renderer/flex.rb
168
+ - lib/pubid/bsi/renderer/publicly_available_specification.rb
169
+ - lib/pubid/bsi/renderer/published_document.rb
170
+ - lib/pubid/bsi/transformer.rb
171
+ - lib/pubid/bsi/type.rb
172
+ - lib/pubid/bsi/version.rb
173
+ homepage: https://github.com/metanorma/pubid-bsi
174
+ licenses:
175
+ - BSD-2-Clause
176
+ metadata: {}
177
+ post_install_message:
178
+ rdoc_options: []
179
+ require_paths:
180
+ - lib
181
+ required_ruby_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: 2.5.0
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ requirements: []
192
+ rubygems_version: 3.0.3.1
193
+ signing_key:
194
+ specification_version: 4
195
+ summary: Library to generate, parse and manipulate ISO PubID.
196
+ test_files: []