initialize

in lib/crawler/data/link.rb [17:33]


      def initialize(base_url:, node: nil, link: nil) 
        raise ArgumentError, 'Base URL needs to be a URL object' unless base_url.is_a?(URL)
        raise ArgumentError, 'Needs an node or a string link argument' unless node || link
        raise ArgumentError, 'The :link argument needs to be a String' if link && !link.is_a?(String)

        if node && !node.is_a?(Nokogiri::XML::Element)
          raise ArgumentError,
                'The :node argument needs to be a Nokogiri::XML::Element'
        end
        raise ArgumentError, 'Needs only one link argument' if node && link

        @base_url = base_url
        @node = node
        @link = node ? node['href'] : link
        @error = nil
      end