Sha256: 87879467ec664d96f80118a20d5611090616434564a28dfb4ba441fcc2fd6f38
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
# frozen_string_literal: true module RelatonIso # Hit. class Hit # @return [RelatonIso::HitCollection] attr_reader :hit_collection # @return [Array<Hash>] attr_reader :hit # @param hit [Hash] # @param hit_collection [RelatonIso:HitCollection] def initialize(hit, hit_collection = nil) @hit = hit @hit_collection = hit_collection end # Parse page. # @return [RelatonIso::IsoBibliographicItem] def fetch @fetch ||= Scrapper.parse_page @hit end # @return [String] def to_s inspect end # @return [String] def inspect matched_words = @hit["_highlightResult"]. reduce([]) { |a, (_k, v)| a + v["matchedWords"] }.uniq "<#{self.class}:#{format('%#.14x', object_id << 1)} "\ "@text=\"#{@hit_collection&.hit_pages&.text}\" "\ "@fullIdentifier=\"#{@fetch&.shortref}\" "\ "@matchedWords=#{matched_words} "\ "@category=\"#{@hit['category']}\" "\ "@title=\"#{@hit['title']}\">" end # @param builder [Nokogiri::XML::Builder] def to_xml(builder = nil, **opts) if builder fetch.to_xml builder, **opts else builder = Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml| fetch.to_xml xml, **opts end builder.doc.root.to_xml end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
relaton-iso-0.5.2 | lib/relaton_iso/hit.rb |
relaton-iso-0.5.1 | lib/relaton_iso/hit.rb |
relaton-iso-0.5.0 | lib/relaton_iso/hit.rb |