module Nokogiri::Decorators::Slop - nokogiri-1.18.10 Documentation

# module Nokogiri::Decorators::Slop

The `Slop` decorator implements method missing such that a methods may be used instead of XPath or `CSS`. See `Nokogiri.Slop`

### Constants

XPATH_PREFIX

  The default XPath search context for `Slop`

### Public Instance Methods

method_missing(name, *args, &block) click to toggle source

look for node with `name`. See `Nokogiri.Slop`

Calls superclass method

    # File lib/nokogiri/decorators/slop.rb, line 14
    def method_missing(name, *args, &block)
      if args.empty?
        list = xpath("#{XPATH_PREFIX}#{name.to_s.sub(/^_/, "")}")
      elsif args.first.is_a?(Hash)
        hash = args.first
        if hash[:css]
          list = css("#{name}#{hash[:css]}")
        elsif hash[:xpath]
          conds = Array(hash[:xpath]).join(" and ")
          list = xpath("#{XPATH_PREFIX}#{name}[#{conds}]")
        end
      else
        list = xpath(
          *CSS.xpath_for("#{name}#{args.first}", prefix: XPATH_PREFIX, cache: false),
        )
      end

      super if list.empty?
      list.length == 1 ? list.first : list
    end

respond_to_missing?(name, include_private = false) click to toggle source

    # File lib/nokogiri/decorators/slop.rb, line 35
    def respond_to_missing?(name, include_private = false)
      list = xpath("#{XPATH_PREFIX}#{name.to_s.sub(/^_/, "")}")

      !list.empty?
    end