lib/relaton_ieee/hit_collection.rb in relaton-ieee-1.3.0 vs lib/relaton_ieee/hit_collection.rb in relaton-ieee-1.4.0
- old
+ new
@@ -11,20 +11,20 @@
# rubocop:disable Metrics/AbcSize
# @param ref [Strig]
# @param opts [Hash]
- def initialize(ref)
+ def initialize(ref) # rubocop:disable Metrics/MethodLength
super
code = ref.sub /^IEEE\s/, ""
search = CGI.escape({ data: { searchTerm: code } }.to_json)
url = "#{DOMAIN}/bin/standards/search?data=#{search}"
resp = Faraday.get url
resp_json = JSON.parse resp.body
json = JSON.parse resp_json["message"]
- @array = json["response"]["searchResults"]["resultsMapList"].
- reduce([]) do |s, hit|
- /^(?<id>\d+)-(?<year>\d{4})/ =~ hit["record"]["recordTitle"]
+ @array = json["response"]["searchResults"]["resultsMapList"]
+ .reduce([]) do |s, hit|
+ /^(?:\w+\s)?(?<id>\d+)-(?<year>\d{4})/ =~ hit["record"]["recordTitle"]
next s unless id && code =~ %r{^#{id}}
s << Hit.new(hit["record"].merge(code: id, year: year.to_i), self)
end.sort_by { |h| h.hit[:year].to_s + h.hit["recordURL"] }.reverse
end