Sha256: 6f413d56b8f5fc7beac1801e8a2ada9d54520ac11b5b4fdcd32dec770ee73434

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require 'aranha/parsers/html/node/base'
require 'eac_ruby_utils/core_ext'

module Aranha
  module Parsers
    module Html
      module Node
        class Default < ::Aranha::Parsers::Html::Node::Base
          require_sub __FILE__, include_modules: true

          def join_value(node, xpath)
            m = ''
            node_set_value(node, xpath).each do |n|
              m << n.text.strip
            end
            m
          end

          def duration_value(node, xpath)
            m = /(\d+) m/.match(join_value(node, xpath))
            m ? m[1].to_i : nil
          end

          # @param node [Nokogiri::XML::Node]
          # @param xpath [String]
          # @return [Nokogiri::XML::NodeSet]
          def node_set_value(node, xpath)
            node.xpath(xpath)
          end

          # @param node [Nokogiri::XML::Node]
          # @param xpath [String]
          # @return [Nokogiri::XML::Node]
          def node_value(node, xpath)
            node.at_xpath(xpath)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
eac_tools-0.69.1 sub/aranha-parsers/lib/aranha/parsers/html/node/default.rb
aranha-parsers-0.19.1 lib/aranha/parsers/html/node/default.rb
eac_tools-0.69.0 sub/aranha-parsers/lib/aranha/parsers/html/node/default.rb
aranha-parsers-0.19.0 lib/aranha/parsers/html/node/default.rb