Sha256: 829e7e8ff3a7b7bbe93ebd507e89abb3bf4f840d4f25db9c79fce3ce5a5b72f6
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 KB
Contents
module RelatonJis class Hit < RelatonBib::Hit # # Create new hit # # @param [Nokogiri::XML::Element] node found node # @param [RelatonJis::HitCollection] collection hit collection # # @return [RelatonJis::Hit] new hit # def self.create(node, collection) a = node.at("./a") hit = { id: a.at("./text()").text.strip, url: a["href"] } new hit, collection end # # Check if hit matches reference # # @param [Hash] ref_parts parts of reference # @param [String, nil] year year # @param [Boolean] all_parts check all parts of reference # # @return [Boolean] true if hit matches reference # def match?(ref_parts, year = nil, all_parts: false) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity id_parts[:code].include?(ref_parts[:code]) && (all_parts || (ref_parts[:part].nil? || ref_parts[:part] == id_parts[:part])) && (all_parts || year.nil? || year == id_parts[:year]) && ((ref_parts[:expl].nil? || !id_parts[:expl].nil?) && (ref_parts[:expl_num].nil? || ref_parts[:expl_num] == id_parts[:expl_num])) && ((ref_parts[:amd].nil? || !id_parts[:amd].nil?) && (ref_parts[:amd_num].nil? || ref_parts[:amd_num] == id_parts[:amd_num]) && (ref_parts[:amd_year].nil? || ref_parts[:amd_year] == id_parts[:amd_year])) end # # Return parts of document id # # @return [Hash] hash with parts of document id # def id_parts @id_parts ||= hit_collection.parse_ref hit[:id] end def fetch @fetch ||= Scraper.new(hit[:url]).fetch end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
relaton-jis-1.14.1 | lib/relaton_jis/hit.rb |