Sha256: 0799e1cacd2ee2276bfc031404373a22f3076413e5164263f6e972c1440eb98c

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module RelatonGb
  # Hit.
  class Hit < RelatonBib::Hit
    # @return [String]
    attr_reader :pid, :docref

    # @return [Date, NilClass]
    attr_reader :release_date

    # @return [String, NilClass]
    attr_reader :status

    # @return [RelatonGb::GbScrapper, RelatonGb::SecScraper, RelatonGb::TScrapper]
    attr_reader :scrapper

    # @param pid [String]
    # @param docref [String]
    # @parma scrapper [RelatonGb::GbScrapper, RelatonGb::SecScraper, RelatonGb::TScrapper]
    # @param release_date [String]
    # @status [String, NilClass]
    # @param hit_collection [RelatonGb:HitCollection, NilClass]
    def initialize(pid:, docref:, scrapper:, **args)
      @pid            = pid
      @docref         = docref
      @scrapper       = scrapper
      @release_date   = Date.parse args[:release_date] if args[:release_date]
      @status         = args[:status]
      @hit_collection = args[:hit_collection]
    end

    # Parse page.
    # @return [Isobib::IsoBibliographicItem]
    def fetch
      @fetch ||= scrapper.scrape_doc self
    end

    # @return [String]
    def inspect
      "<#{self.class}:#{format('%#.14x', object_id << 1)} "\
      "@fullIdentifier=\"#{@fetch&.shortref}\" "\
      "@docref=\"#{docref}\">"
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
relaton-gb-1.1.0 lib/relaton_gb/hit.rb
relaton-gb-1.0.2 lib/relaton_gb/hit.rb
relaton-gb-1.0.1 lib/relaton_gb/hit.rb
relaton-gb-1.0.0 lib/relaton_gb/hit.rb
relaton-gb-0.12.0 lib/relaton_gb/hit.rb
relaton-gb-0.11.1 lib/relaton_gb/hit.rb
relaton-gb-0.11.0 lib/relaton_gb/hit.rb