Sha256: acb75a1ab15c759a157b79fbcd1c0ec8bc7c3afe89e48a9dd50f983fe503fbbc
Contents?: true
Size: 1.86 KB
Versions: 4
Compression:
Stored size: 1.86 KB
Contents
class CobwebLinks # processes links supplied to it def initialize(options={}) @options = options raise InternalUrlsMissingError, ":internal_urls is required" unless @options.has_key? :internal_urls raise InvalidUrlsError, ":internal_urls must be an array" unless @options[:internal_urls].kind_of? Array raise InvalidUrlsError, ":external_urls must be an array" unless !@options.has_key?(:external_urls) || @options[:external_urls].kind_of?(Array) @options[:external_urls] = [] unless @options.has_key? :external_urls @options[:debug] = false unless @options.has_key? :debug @internal_patterns = @options[:internal_urls].map{|pattern| Regexp.new("^#{pattern.gsub(".", "\\.").gsub("*", ".*?")}")} @external_patterns = @options[:external_urls].map{|pattern| Regexp.new("^#{pattern.gsub(".", "\\.").gsub("*", ".*?")}")} end def internal?(link) if @options[:debug] puts "--------------------------------" puts "Link: #{link}" puts "Internal matches" ap @internal_patterns.select{|pattern| link.match(pattern)} puts "External matches" ap @external_patterns.select{|pattern| link.match(pattern)} end !@internal_patterns.select{|pattern| link.match(pattern)}.empty? && @external_patterns.select{|pattern| link.match(pattern)}.empty? end def external?(link) if @options[:debug] puts "--------------------------------" puts "Link: #{link}" puts "Internal matches" ap @internal_patterns.select{|pattern| link.match(pattern)} puts "External matches" ap @external_patterns.select{|pattern| link.match(pattern)} end @internal_patterns.select{|pattern| link.match(pattern)}.empty? || !@external_patterns.select{|pattern| link.match(pattern)}.empty? end end class InternalUrlsMissingError < Exception end class InvalidUrlsError < Exception end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cobweb-0.0.48 | lib/cobweb_links.rb |
cobweb-0.0.47 | lib/cobweb_links.rb |
cobweb-0.0.46 | lib/cobweb_links.rb |
cobweb-0.0.45 | lib/cobweb_links.rb |