Sha256: a891d715c5d3cc975d6ba45bc7ac367919ec64b791ea9d5a855b5050790519ef

Contents?: true

Size: 583 Bytes

Versions: 9

Compression:

Stored size: 583 Bytes

Contents

module RelatonXsf
  class HitCollection < RelatonBib::HitCollection
    INDEX_FILE = "index-v1.yaml".freeze
    GHDATA_URL = "https://raw.githubusercontent.com/relaton/relaton-data-xsf/main/".freeze

    def search
      @array = index.search(text).sort_by { |hit| hit[:id] }.map do |row|
        Hit.new url: "#{GHDATA_URL}#{row[:file]}"
      end
      self
    rescue StandardError => e
      raise RelatonBib::RequestError, e.message
    end

    def index
      @index ||= Relaton::Index.find_or_create :xsf, url: "#{GHDATA_URL}index-v1.zip", file: INDEX_FILE
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
relaton-xsf-1.20.0 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.19.0 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.18.1 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.18.0 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.17.0 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.16.2 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.16.1 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.16.0 lib/relaton_xsf/hit_collection.rb
relaton-xsf-1.14.0 lib/relaton_xsf/hit_collection.rb