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