relaton-iso 1.11.1 → 1.12.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: 57aaa988aba37afa1e4cc8eced55b20d46eda761cad5fc8a68ac33c3793afb82
4
- data.tar.gz: 0ff660f7a7ffb558659c9d8577f075cfea9e225c2d9a7bf44d209745b0d7fc76
3
+ metadata.gz: 3600bb96dbe0079a7a3decb1ed1e72d4bf8b0b1b3e3dbf895ce09babea1180e8
4
+ data.tar.gz: d01275c03e71b7bcc0137c3b72035cd19894eb39812d70f1ddadbb1e2c0354c7
5
5
  SHA512:
6
- metadata.gz: 8ef87dc1073df8b8653989494fda55f54cdcd780aaaa9d16e0af6e0ec6778021d73a2e81b23b18b751e95b2c607f6c27a49af50d8df1bbb95c7d9b7df76e3977
7
- data.tar.gz: 154c64258dfc69a6ae01822593e0e9759648cc2f773c126f4474cd0aad8483a16e208613ccd582e94f4ea38c4c996cee089c5d5b844782f93ae2ec33be17151c
6
+ metadata.gz: 4e6d8c80fef320926e2c3fd71be2963e8d68216ee26079640495a610af32efce41fba270929a61bb989d8ddae1bc04bcf168428782e1e9d51643ca1ed49b59c1
7
+ data.tar.gz: 5d26dd354ca5d1cc6eeaac3ae612343ec63aa79fa5b584720490f7f0780937e47396cabf1fb0e4b2822161a9f7baad27df7c9bd4e9789bbb7387b3e91f80fc52
@@ -10,27 +10,4 @@ on:
10
10
 
11
11
  jobs:
12
12
  rake:
13
- name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
- runs-on: ${{ matrix.os }}
15
- continue-on-error: ${{ matrix.experimental }}
16
- strategy:
17
- fail-fast: false
18
- matrix:
19
- ruby: [ '3.0', '2.7', '2.6', '2.5' ]
20
- os: [ ubuntu-latest, windows-latest, macos-latest ]
21
- experimental: [ false ]
22
- steps:
23
- - uses: actions/checkout@v2
24
- with:
25
- submodules: true
26
-
27
- # https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
28
- - if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
29
- run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
30
-
31
- - uses: ruby/setup-ruby@v1
32
- with:
33
- ruby-version: ${{ matrix.ruby }}
34
- bundler-cache: true
35
-
36
- - run: bundle exec rake
13
+ uses: relaton/support/.github/workflows/rake.yml@master
@@ -0,0 +1,28 @@
1
+ module RelatonIso
2
+ class DocumentIdentifier < RelatonBib::DocumentIdentifier
3
+ attr_accessor :all_parts
4
+
5
+ def id
6
+ if @all_parts
7
+ if type == "URN"
8
+ return "#{@id.urn}:ser"
9
+ else
10
+ return "#{@id} (all parts)"
11
+ end
12
+ end
13
+ type == "URN" ? @id.urn.to_s : @id.to_s
14
+ end
15
+
16
+ def remove_part
17
+ @id.part = nil
18
+ end
19
+
20
+ def remove_date
21
+ @id.year = nil
22
+ end
23
+
24
+ def all_parts
25
+ @all_parts = true
26
+ end
27
+ end
28
+ end
@@ -4,13 +4,13 @@ module RelatonIso
4
4
  # Hit.
5
5
  class Hit < RelatonBib::Hit
6
6
  # @return [RelatonIsoBib::IsoBibliographicItem]
7
- attr_writer :fetch
7
+ attr_writer :fetch, :pubid
8
8
 
9
9
  # Parse page.
10
10
  # @param lang [String, NilClass]
11
11
  # @return [RelatonIso::IsoBibliographicItem]
12
- def fetch(lang = nil)
13
- @fetch ||= Scrapper.parse_page @hit, lang
12
+ def fetch(lang = nil, all_parts = false)
13
+ @fetch ||= Scrapper.parse_page @hit, lang, all_parts
14
14
  end
15
15
 
16
16
  # @return [Integer]
@@ -23,5 +23,10 @@ module RelatonIso
23
23
  else 4
24
24
  end
25
25
  end
26
+
27
+ # @return [Pubid::Iso::Identifier]
28
+ def pubid
29
+ Pubid::Iso::Identifier.parse_from_title(hit[:title])
30
+ end
26
31
  end
27
32
  end
@@ -11,25 +11,21 @@ module RelatonIso
11
11
  # @param text [String] reference to search
12
12
  def initialize(text)
13
13
  super
14
- @array = text.match?(/^ISO\sTC\s184\/SC\s?4/) ? fetch_github : fetch_iso
14
+ @array = text.match?(/^ISO\s(?:TC\s184\/SC\s?4|IEC\sDIR\s(?:\d|IEC|JTC))/) ? fetch_github : fetch_iso
15
15
  end
16
16
 
17
17
  # @param lang [String, NilClass]
18
18
  # @return [RelatonIsoBib::IsoBibliographicItem]
19
19
  def to_all_parts(lang = nil) # rubocop:disable Metrics/CyclomaticComplexity
20
20
  # parts = @array.reject { |h| h.hit["docPart"]&.empty? }
21
- hit = @array.min_by do |h|
22
- IsoBibliography.ref_components(h.hit[:title])[1].to_i
23
- end
21
+ hit = @array.min_by { |h| h.pubid.part }
24
22
  return @array.first.fetch lang unless hit
25
23
 
26
- bibitem = hit.fetch lang
24
+ bibitem = hit.fetch(lang, true)
27
25
  all_parts_item = bibitem.to_all_parts
28
26
  @array.reject { |h| h.hit[:uuid] == hit.hit[:uuid] }.each do |hi|
29
- %r{^(?<fr>ISO(?:\s|/)[^-/:()]+(?:-[\w-]+)?(?::\d{4})?
30
- (?:/\w+(?:\s\w+)?\s\d+(?:\d{4})?)?)}x =~ hi.hit[:title]
31
27
  isobib = RelatonIsoBib::IsoBibliographicItem.new(
32
- formattedref: RelatonBib::FormattedRef.new(content: fr),
28
+ formattedref: RelatonBib::FormattedRef.new(content: hi.pubid.to_s),
33
29
  )
34
30
  all_parts_item.relation << RelatonBib::DocumentRelation.new(
35
31
  type: "instance", bibitem: isobib,
@@ -27,57 +27,97 @@ module RelatonIso
27
27
  # @option opts [Boolean] :keep_year if undated reference should return
28
28
  # actual reference with year
29
29
  #
30
- # @return [String] Relaton XML serialisation of reference
30
+ # @return [RelatonIsoBib::IsoBibliographicItem] Relaton XML serialisation of reference
31
31
  def get(ref, year = nil, opts = {}) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity,Metrics/AbcSize
32
32
  code = ref.gsub(/\u2013/, "-")
33
- # %r{\s(?<num>\d+)(?:-(?<part>[\d-]+))?(?::(?<year1>\d{4}))?} =~ code
34
- year ||= publish_year ref
33
+
34
+ # parse "all parts" request
35
35
  code.sub! " (all parts)", ""
36
36
  opts[:all_parts] ||= $~ && opts[:all_parts].nil?
37
- # opts[:keep_year] ||= opts[:keep_year].nil?
38
- # code.sub!("#{num}-#{part}", num) if opts[:all_parts] && part
39
- # if %r[^ISO/IEC DIR].match? code
40
- # return RelatonIec::IecBibliography.get(code, year, opts)
41
- # end
42
37
 
43
- ret = isobib_get(code, year, opts)
44
- return nil if ret.nil?
38
+ query_pubid = Pubid::Iso::Identifier.parse(code)
39
+ query_pubid.year = year if year
40
+
41
+ hits = isobib_search_filter(query_pubid, opts)
45
42
 
46
- if (year && opts[:keep_year].nil?) || opts[:keep_year] || opts[:all_parts]
43
+ # return only first one if not all_parts
44
+ ret = if !opts[:all_parts] || hits.size == 1
45
+ hits.any? && hits.first.fetch(opts[:lang])
46
+ else
47
+ hits.to_all_parts(opts[:lang])
48
+ end
49
+
50
+ if ret
51
+ warn "[relaton-iso] (\"#{query_pubid}\") found #{ret.docidentifier.first.id}"
52
+ else
53
+ return fetch_ref_err(query_pubid, query_pubid.year)
54
+ end
55
+
56
+ if (query_pubid.year && opts[:keep_year].nil?) || opts[:keep_year] || opts[:all_parts]
47
57
  ret
48
58
  else
49
59
  ret.to_most_recent_reference
50
60
  end
51
61
  end
52
62
 
53
- def ref_components(ref)
54
- %r{
55
- ^(?<code>ISO(?:\s|/)[^-/:()]+\d+)
56
- (?:-(?<part>[\w-]+))?
57
- (?::(?<year>\d{4}))?
58
- (?:/(?<corr>\w+(?:\s\w+)?\s\d+)(?:(?<coryear>\d{4}))?)?
59
- }x =~ ref
60
- [code&.strip, part, year, corr, coryear]
63
+ # @param query_pubid [Pubid::Iso::Identifier]
64
+ # @param pubid [Pubid::Iso::Identifier]
65
+ # @param all_parts [Boolean] match with any parts when true
66
+ # @return [Boolean]
67
+ def matches_parts?(query_pubid, pubid, all_parts: false)
68
+ if all_parts
69
+ # match only with documents with part number
70
+ !pubid.part.nil?
71
+ else
72
+ query_pubid.part == pubid.part
73
+ end
74
+ end
75
+
76
+ def matches_base?(query_pubid, pubid, any_types_stages: false)
77
+ query_pubid.publisher == pubid.publisher &&
78
+ query_pubid.number == pubid.number &&
79
+ query_pubid.copublisher == pubid.copublisher &&
80
+ (any_types_stages && query_pubid.stage.nil? || query_pubid.stage == pubid.stage) &&
81
+ (any_types_stages && query_pubid.type.nil? || query_pubid.type == pubid.type)
82
+ end
83
+
84
+ # @param hit_collection [RelatonIso::HitCollection]
85
+ # @param year [String]
86
+ # @return [RelatonIso::HitCollection]
87
+ def filter_hits_by_year(hit_collection, year)
88
+ missed_years = []
89
+
90
+ # filter by year
91
+ hits = hit_collection.select do |hit|
92
+ if hit.pubid.year == year
93
+ true
94
+ else
95
+ missed_years << hit.pubid.year
96
+ false
97
+ end
98
+ end
99
+
100
+ if hits.empty? && !missed_years.empty?
101
+ warn "[relaton-iso] (There was no match for #{year}, though there "\
102
+ "were matches found for #{missed_years.join(', ')}.)"
103
+ end
104
+ hits
61
105
  end
62
106
 
63
107
  private
64
108
 
65
109
  # rubocop:disable Metrics/MethodLength
66
110
 
67
- def fetch_ref_err(code, year, missed_years)
68
- id = year ? "#{code}:#{year}" : code
111
+ def fetch_ref_err(query_pubid, year)
112
+ id = year ? "#{query_pubid}:#{year}" : query_pubid
69
113
  warn "[relaton-iso] WARNING: no match found online for #{id}. "\
70
114
  "The code must be exactly like it is on the standards website."
71
- unless missed_years.empty?
72
- warn "[relaton-iso] (There was no match for #{year}, though there "\
73
- "were matches found for #{missed_years.join(', ')}.)"
74
- end
75
- if /\d-\d/.match? code
115
+ if /\d-\d/.match? query_pubid.to_s
76
116
  warn "[relaton-iso] The provided document part may not exist, "\
77
117
  "or the document may no longer be published in parts."
78
118
  else
79
119
  warn "[relaton-iso] If you wanted to cite all document parts for "\
80
- "the reference, use \"#{code} (all parts)\".\nIf the document "\
120
+ "the reference, use \"#{query_pubid} (all parts)\".\nIf the document "\
81
121
  "is not a standard, use its document type abbreviation "\
82
122
  "(TS, TR, PAS, Guide)."
83
123
  end
@@ -88,119 +128,49 @@ module RelatonIso
88
128
 
89
129
  # Search for hits. If no found then trying missed stages and ISO/IEC.
90
130
  #
91
- # @param code [String] reference without correction
131
+ # @param query_pubid [Pubid::Iso::Identifier] reference without correction
92
132
  # @param opts [Hash]
93
133
  # @return [Array<RelatonIso::Hit>]
94
- def isobib_search_filter(code, opts)
95
- ref = remove_part code, opts[:all_parts]
96
- warn "[relaton-iso] (\"#{code}\") fetching..."
97
- result = search(ref)
98
- res = search_code result, code, opts
134
+ def isobib_search_filter(query_pubid, opts)
135
+ query_pubid.part = nil if opts[:all_parts]
136
+ warn "[relaton-iso] (\"#{query_pubid}\") fetching..."
137
+ # fetch hits collection
138
+ hit_collection = search(query_pubid.to_s(with_date: false))
139
+ # filter only matching hits
140
+ res = filter_hits hit_collection, query_pubid,
141
+ all_parts: opts[:all_parts]
99
142
  return res unless res.empty?
100
143
 
101
- # try stages
102
- case code
103
- when %r{^\w+/[^/]+\s\d+} # code like ISO/IEC 123, ISO/IEC/IEE 123
104
- res = try_stages(result, opts) do |st|
105
- code.sub(%r{^(?<pref>[^\s]+\s)}) { "#{$~[:pref]}#{st} " }
106
- end
107
- return res unless res.empty?
108
- when %r{^\w+\s\d+} # code like ISO 123
109
- res = try_stages(result, opts) do |st|
110
- code.sub(%r{^(?<pref>\w+)}) { "#{$~[:pref]}/#{st}" }
111
- end
112
- return res unless res.empty?
113
- end
144
+ # lookup for documents with stages when no match without stage
145
+ res = filter_hits hit_collection, query_pubid,
146
+ all_parts: opts[:all_parts], any_types_stages: true
147
+ return res unless res.empty?
114
148
 
115
- if %r{^ISO\s}.match? code # try ISO/IEC if ISO not found
149
+ # TODO: do this at pubid-iso
150
+ if query_pubid.publisher == "ISO" && query_pubid.copublisher.nil? # try ISO/IEC if ISO not found
116
151
  warn "[relaton-iso] Attempting ISO/IEC retrieval"
117
- c = code.sub "ISO", "ISO/IEC"
118
- res = search_code result, c, opts
119
- end
120
- res
121
- end
122
- # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
123
-
124
- def remove_part(ref, all_parts)
125
- return ref unless all_parts
126
-
127
- ref.sub %r{(\S+\s\d+)[\d-]+}, '\1'
128
- end
129
-
130
- # @param result [RelatonIso::HitCollection]
131
- # @param opts [Hash]
132
- # @return [RelatonIso::HitCollection]
133
- def try_stages(result, opts)
134
- res = nil
135
- %w[NP WD CD DIS FDIS PRF IS AWI TR].each do |st| # try stages
136
- c = yield st
137
- res = search_code result, c, opts
138
- return res unless res.empty?
152
+ query_pubid.copublisher = "IEC"
153
+ res = filter_hits hit_collection, query_pubid, all_parts: opts[:all_parts]
139
154
  end
140
155
  res
141
156
  end
142
157
 
143
- # @param result [RelatonIso::HitCollection]
144
- # @param code [String]
145
- # @param opts [Hash]
158
+ # @param hits [RelatonIso::HitCollection]
159
+ # @param query_pubid [Pubid::Iso::Identifier]
160
+ # @param all_parts [Boolean]
161
+ # @param any_stages [Boolean]
146
162
  # @return [RelatonIso::HitCollection]
147
- def search_code(result, code, opts) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
148
- code1, part1, _, corr1, coryear1 = ref_components code
149
- result.select do |i|
150
- code2, part2, _, corr2, coryear2 = ref_components i.hit[:title]
151
- code1 == code2 && ((opts[:all_parts] && part2) || (!opts[:all_parts] && part1 == part2)) &&
152
- corr1 == corr2 && (!coryear1 || coryear1 == coryear2)
163
+ def filter_hits(hit_collection, query_pubid, all_parts: false, any_types_stages: false) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
164
+ # filter out
165
+ result = hit_collection.select do |i|
166
+ hit_pubid = i.pubid
167
+ matches_base?(query_pubid, hit_pubid, any_types_stages: any_types_stages) &&
168
+ matches_parts?(query_pubid, hit_pubid, all_parts: all_parts) &&
169
+ query_pubid.corrigendum == hit_pubid.corrigendum &&
170
+ query_pubid.amendment == hit_pubid.amendment
153
171
  end
154
- end
155
-
156
- # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
157
172
 
158
- # Sort through the results from RelatonIso, fetching them three at a time,
159
- # and return the first result that matches the code, matches the year
160
- # (if provided), and which # has a title (amendments do not).
161
- # Only expects the first page of results to be populated.
162
- # Does not match corrigenda etc (e.g. ISO 3166-1:2006/Cor 1:2007)
163
- # If no match, returns any years which caused mismatch, for error
164
- # reporting
165
- def isobib_results_filter(result, year, opts)
166
- missed_years = []
167
- hits = result.reduce!([]) do |hts, h|
168
- iyear = publish_year h.hit[:title]
169
- if !year || iyear == year
170
- hts << h
171
- else
172
- missed_years << iyear
173
- hts
174
- end
175
- end
176
- return { years: missed_years } unless hits.any?
177
-
178
- if !opts[:all_parts] || hits.size == 1
179
- return { ret: hits.first.fetch(opts[:lang]) }
180
- end
181
-
182
- { ret: hits.to_all_parts(opts[:lang]) }
183
- end
184
- # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
185
-
186
- def publish_year(ref)
187
- %r{:(?<year>\d{4})(?!.*:\d{4})} =~ ref
188
- year
189
- end
190
-
191
- # @param code [String]
192
- # @param year [String, NilClass]
193
- # @param opts [Hash]
194
- def isobib_get(code, year, opts)
195
- # return iev(code) if /^IEC 60050-/.match code
196
- result = isobib_search_filter(code, opts) || return
197
- ret = isobib_results_filter(result, year, opts)
198
- if ret[:ret]
199
- warn "[relaton-iso] (\"#{code}\") found #{ret[:ret].docidentifier.first.id}"
200
- ret[:ret]
201
- else
202
- fetch_ref_err(code, year, ret[:years])
203
- end
173
+ query_pubid.year ? filter_hits_by_year(result, query_pubid.year) : result
204
174
  end
205
175
  end
206
176
  end
@@ -52,10 +52,11 @@ module RelatonIso
52
52
  # Parse page.
53
53
  # @param hit_data [Hash]
54
54
  # @param lang [String, NilClass]
55
- # @return [Hash]
56
- def parse_page(hit_data, lang = nil) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
55
+ # @return [RelatonIsoBib::IsoBibliographicItem]
56
+ def parse_page(hit_data, lang = nil, all_parts = false) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
57
57
  # path = "/contents/data/standard#{hit_data['splitPath']}/"\
58
58
  # "#{hit_data['csnumber']}.html"
59
+
59
60
  doc, url = get_page "#{hit_data[:path].sub '/sites/isoorg', ''}.html"
60
61
 
61
62
  # Fetch edition.
@@ -66,7 +67,7 @@ module RelatonIso
66
67
 
67
68
  RelatonIsoBib::IsoBibliographicItem.new(
68
69
  fetched: Date.today.to_s,
69
- docid: fetch_docid(doc, edition, langs),
70
+ docid: fetch_relaton_docids(Pubid::Iso::Identifier.parse(item_ref(doc))),
70
71
  docnumber: fetch_docnumber(doc),
71
72
  edition: edition,
72
73
  language: langs.map { |l| l[:lang] },
@@ -87,6 +88,20 @@ module RelatonIso
87
88
  )
88
89
  end
89
90
 
91
+ # Fetch relaton docids.
92
+ # @param pubid [Pubid::Iso::Identifier]
93
+ # @param edition [String]
94
+ # @param langs [Array<Hash>]
95
+ # @param stage [Float]
96
+ # @return [Array<RelatonBib::DocumentIdentifier>]
97
+ def fetch_relaton_docids(pubid)
98
+ pubid.urn_stage = 60.60
99
+ [
100
+ RelatonIso::DocumentIdentifier.new(id: pubid, type: "ISO", primary: true),
101
+ RelatonIso::DocumentIdentifier.new(id: pubid, type: "URN"),
102
+ ]
103
+ end
104
+
90
105
  private
91
106
 
92
107
  # Fetch titles and abstracts.
@@ -168,44 +183,6 @@ module RelatonIso
168
183
  end
169
184
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
170
185
 
171
- # Fetch docid.
172
- # @param doc [Nokogiri:HTML::Document]
173
- # @param edition [String]
174
- # @param langs [Array<Hash>]
175
- # @return [Array<RelatonBib::DocumentIdentifier>]
176
- def fetch_docid(doc, edition, langs)
177
- pubid = item_ref doc
178
- [
179
- RelatonBib::DocumentIdentifier.new(id: pubid, type: "ISO", primary: true),
180
- RelatonBib::DocumentIdentifier.new(
181
- id: fetch_urn(doc, pubid, edition, langs), type: "URN",
182
- ),
183
- ]
184
- end
185
-
186
- # @param doc [Nokogiri:HTML::Document]
187
- # @param pubid [String]
188
- # @param edition [String]
189
- # @param langs [Array<Hash>]
190
- # @returnt [String]
191
- def fetch_urn(doc, pubid, edition, langs) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
192
- orig = pubid.split.first.downcase.split("/").join "-"
193
- %r{(?<=)(?<type>DATA|GUIDE|ISP|IWA|PAS|R|TR|TS|TTA)} =~ pubid
194
- _, part, _year, corr, = IsoBibliography.ref_components pubid
195
- urn = "urn:iso:std:#{orig}"
196
- urn += ":#{type.downcase}" if type
197
- urn += ":#{fetch_docnumber(doc)}"
198
- urn += ":-#{part}" if part
199
- urn += ":stage-#{stage_code(doc)}"
200
- urn += ":ed-#{edition}" if edition
201
- if corr
202
- corrparts = corr.split
203
- urn += ":#{corrparts[0].downcase}:#{corrparts[-1]}"
204
- end
205
- urn += ":#{langs.map { |l| l[:lang] }.join(',')}"
206
- urn
207
- end
208
-
209
186
  def fetch_docnumber(doc)
210
187
  item_ref(doc)&.match(/\d+/)&.to_s
211
188
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RelatonIso
4
- VERSION = "1.11.1"
4
+ VERSION = "1.12.0"
5
5
  end
data/lib/relaton_iso.rb CHANGED
@@ -2,3 +2,5 @@
2
2
 
3
3
  require "relaton_iso/version"
4
4
  require "relaton_iso/iso_bibliography"
5
+ require "pubid-iso"
6
+ require "relaton_iso/document_identifier"
data/relaton_iso.gemspec CHANGED
@@ -42,5 +42,6 @@ Gem::Specification.new do |spec|
42
42
 
43
43
  # spec.add_dependency "relaton-iec", "~> 1.8.0"
44
44
  spec.add_dependency "algolia"
45
- spec.add_dependency "relaton-iso-bib", "~> 1.11.0"
45
+ spec.add_dependency "relaton-iso-bib", "~> 1.12.0"
46
+ spec.add_dependency "pubid-iso", "~> 0.1.7"
46
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.1
4
+ version: 1.12.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: 2022-05-03 00:00:00.000000000 Z
11
+ date: 2022-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -184,14 +184,28 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 1.11.0
187
+ version: 1.12.0
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 1.11.0
194
+ version: 1.12.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: pubid-iso
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.1.7
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.1.7
195
209
  description: 'RelatonIso: retrieve ISO Standards for bibliographic use using the IsoBibliographicItem
196
210
  model'
197
211
  email:
@@ -231,6 +245,7 @@ files:
231
245
  - bin/safe_yaml
232
246
  - bin/setup
233
247
  - lib/relaton_iso.rb
248
+ - lib/relaton_iso/document_identifier.rb
234
249
  - lib/relaton_iso/hit.rb
235
250
  - lib/relaton_iso/hit_collection.rb
236
251
  - lib/relaton_iso/iso_bibliography.rb