relaton-bsi 1.9.2 → 1.9.3

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: 0e35dcda4191d7eeb80cff93c299c6d7b629af7fa7534d8c08edf740573d98bd
4
- data.tar.gz: 7a1b3a52177f1ef5ad36d530c1c2cc2a71f69c5dfe3232d5619b3429a86849b4
3
+ metadata.gz: 575d3bddb3ae25f1eb02722c22b2828078dcfbdda026f1880cb9267f7063fe02
4
+ data.tar.gz: 9acb554596e76d303396f3ee3ca363a90debaf796e056d30a7a7cec1666c35d8
5
5
  SHA512:
6
- metadata.gz: 915df61335547d25559ddf97c92b0c7029cf679eb3f09131de86698797912c687be3af9dea159fdb46c43a73915bc1976338925116636b02d2832abe30f06f21
7
- data.tar.gz: 70b54bc05430c5a983fca9d4b894eaa770d212a662f0741fd08275fcbf2005cb971c883523a590b261c7bda697e7a40d7e30dc59e5c87482bc4a8d488fce5cab
6
+ metadata.gz: 97419068d0508756a60da761bfb2caa436959ccfc4939052149ee951d781ee74b1b5a401796e591ec54a94974365a1b2560ce77fd91f0e0704f903ef21d0dd67
7
+ data.tar.gz: 016d70fee73a215b58cc53b8101fa4c70b21e30a6229f727524a3604eaa838b9a2dc1c88493ec1f2a1992a45a8161ebcdf4a5e7103822ca3f44ed21a0549b5fb
data/.rubocop.yml CHANGED
@@ -2,6 +2,8 @@
2
2
  # https://github.com/riboseinc/oss-guides
3
3
  # All project-specific additions and overrides should be specified in this file.
4
4
 
5
+ require: rubocop-rails
6
+
5
7
  inherit_from:
6
8
  - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
7
9
  AllCops:
@@ -24,17 +24,21 @@ module RelatonBsi
24
24
  raise RelatonBib::RequestError, e.message
25
25
  end
26
26
 
27
+ #
27
28
  # @param code [String] the BSI standard Code to look up
28
29
  # @param year [String] the year the standard was published (optional)
29
- # @param opts [Hash] options; restricted to :all_parts if all-parts reference is required
30
+ # @param opts [Hash] options
31
+ # @option opts [Boolean] :all_parts if all-parts reference is required
32
+ # @option opts [Boolean] :no_year if last published document is required
33
+ #
30
34
  # @return [String] Relaton XML serialisation of reference
31
- def get(code, year = nil, opts = {}) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
32
- c, y = code.split ':'
35
+ def get(code, year = nil, opts = {})
36
+ c, y = code.split ":"
33
37
  year ||= y
34
38
  ret = bib_get1(c, year, opts)
35
39
  return nil if ret.nil?
36
40
 
37
- # ret = ret.to_most_recent_reference unless year || opts[:keep_year]
41
+ ret = ret.to_most_recent_reference unless year || opts[:keep_year]
38
42
  # ret = ret.to_all_parts if opts[:all_parts]
39
43
  ret
40
44
  end
@@ -44,18 +48,19 @@ module RelatonBsi
44
48
  def fetch_ref_err(code, year, missed_years) # rubocop:disable Metrics/MethodLength
45
49
  id = year ? "#{code}:#{year}" : code
46
50
  warn "[relaton-bsi] WARNING: no match found online for #{id}. "\
47
- "The code must be exactly like it is on the standards website."
51
+ "The code must be exactly like it is on the standards website."
48
52
  unless missed_years.empty?
49
- warn "[relaton-bsi] (There was no match for #{year}, though there were matches "\
50
- "found for #{missed_years.join(', ')}.)"
53
+ warn "[relaton-bsi] (There was no match for #{year}, though there "\
54
+ "were matches found for #{missed_years.join(', ')}.)"
51
55
  end
52
56
  # if /\d-\d/.match? code
53
- # warn "[relaton-bsi] The provided document part may not exist, or the document "\
54
- # "may no longer be published in parts."
57
+ # warn "[relaton-bsi] The provided document part may not exist, or "\
58
+ # "the document may no longer be published in parts."
55
59
  # else
56
- # warn "[relaton-bsi] If you wanted to cite all document parts for the reference, "\
57
- # "use \"#{code} (all parts)\".\nIf the document is not a standard, "\
58
- # "use its document type abbreviation (TS, TR, PAS, Guide)."
60
+ # warn "[relaton-bsi] If you wanted to cite all document parts for "\
61
+ # "the reference, use \"#{code} (all parts)\".\nIf the document "\
62
+ # "is not a standard, use its document type abbreviation (TS, TR, "\
63
+ # "PAS, Guide)."
59
64
  # end
60
65
  nil
61
66
  end
@@ -8,8 +8,6 @@ module RelatonBsi
8
8
  class HitCollection < RelatonBib::HitCollection
9
9
  DOMAIN = "https://shop.bsigroup.com"
10
10
 
11
- # @return [Mechanize]
12
- # attr_reader :agent
13
11
 
14
12
  # @param ref [String]
15
13
  # @param year [String]
@@ -28,11 +26,12 @@ module RelatonBsi
28
26
 
29
27
  # @param hits [Array<Hash>]
30
28
  # @return [Array<RelatonBsi::Hit>]
31
- def hits(hits) # rubocop:disable Metrics/MethodLength
29
+ def hits(hits) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
32
30
  hits.map do |h|
31
+ code = h[:meta][:global][:primaryDesignator].sub(/\sLOOSELEAF|\s\(A5 LAMINATED\)/, "")
33
32
  Hit.new(
34
33
  {
35
- code: h[:meta][:global][:primaryDesignator],
34
+ code: code,
36
35
  title: h[:title],
37
36
  url: h[:handle],
38
37
  date: h[:meta][:global][:publishedDate],
@@ -42,7 +41,7 @@ module RelatonBsi
42
41
  doctype: h[:product_type],
43
42
  }, self
44
43
  )
45
- end
44
+ end.sort_by { |h| h.hit[:date] }.reverse
46
45
  end
47
46
  end
48
47
  end
@@ -118,7 +118,7 @@ module RelatonBsi
118
118
  # @param docid [String]
119
119
  # @param data [Hash]
120
120
  # @return [Array<RelatonBib::DocumentIdentifier>]
121
- def fetch_docid(docid, data)
121
+ def fetch_docid(docid, data) # rubocop:disable Metrics/AbcSize
122
122
  ids = [{ type: "BSI", id: docid }]
123
123
  if data.any? && data["variants"]["edges"][0]["node"]["isbn"]
124
124
  isbn = data["variants"]["edges"][0]["node"]["isbn"]["value"]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RelatonBsi
4
- VERSION = "1.9.2"
4
+ VERSION = "1.9.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-bsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.2
4
+ version: 1.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-04 00:00:00.000000000 Z
11
+ date: 2021-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: equivalent-xml