Sha256: 3fa647199dd8e36dee48c9102764057ec913799ab2ec44f92d1915e7adb3af7e

Contents?: true

Size: 845 Bytes

Versions: 29

Compression:

Stored size: 845 Bytes

Contents

# frozen_string_literal: true

module RelatonNist
  # Hit.
  class Hit < RelatonBib::Hit
    # Parse page.
    # @return [RelatonNist::NistBliographicItem]
    def fetch
      @fetch ||= Scrapper.parse_page @hit
    end

    # @return [Iteger]
    def sort_value
      @sort_value ||= begin
        sort_phrase = [hit[:serie], hit[:code], hit[:title]].join " "
        corr = hit_collection&.text&.split&.map do |w|
          if w =~ /\w+/ &&
              sort_phrase =~ Regexp.new(Regexp.escape(w), Regexp::IGNORECASE)
            1
          else 0
          end
        end&.sum.to_i
        corr + case hit[:status]
               when "final" then 4
               when "withdrawn" then 3
               when "draft" then 2
               when "draft (obsolete)" then 1
               else 0
               end
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 2 rubygems

Version Path
relaton-nist-1.9.0 lib/relaton_nist/hit.rb
relaton-nist-1.8.0 lib/relaton_nist/hit.rb
relaton-nist-1.7.4 lib/relaton_nist/hit.rb
relaton-nist-1.7.3 lib/relaton_nist/hit.rb
relaton-nist-1.7.2 lib/relaton_nist/hit.rb
relaton-nist-1.7.1 lib/relaton_nist/hit.rb
relaton-nist-1.7.0 lib/relaton_nist/hit.rb
relaton-nist-1.6.0 lib/relaton_nist/hit.rb
relaton-nist-1.6.pre1 lib/relaton_nist/hit.rb
relaton-nist-1.5.1 lib/relaton_nist/hit.rb
relaton-nist-1.5.0 lib/relaton_nist/hit.rb
relaton-nist-1.5.pre lib/relaton_nist/hit.rb
relaton-nist-1.4.0 lib/relaton_nist/hit.rb
relaton-nist-1.3.1 lib/relaton_nist/hit.rb
relaton-nist-1.3.0 lib/relaton_nist/hit.rb
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/relaton-nist-1.2.2/lib/relaton_nist/hit.rb
metanorma-cli-1.3.3.1 gems/ruby/2.6.0/gems/relaton-nist-1.2.2/lib/relaton_nist/hit.rb
relaton-nist-1.2.2 lib/relaton_nist/hit.rb
relaton-nist-1.2.1 lib/relaton_nist/hit.rb
relaton-nist-1.2.0 lib/relaton_nist/hit.rb