Sha256: e9abec0ecae8bada49b2cba293349240f6d50a3d4a31f2c55151bd7ffd338703
Contents?: true
Size: 1.48 KB
Versions: 2
Compression:
Stored size: 1.48 KB
Contents
# Get and filter links module AwesomeBot class << self def links_filter(list) list.reject { |x| x.length < 9 } .map do |x| x.gsub(',','%2c').gsub(/'.*/, '').gsub(/,.*/, '') end .map do |x| if x.include? ')]' x.gsub /\)\].*/, '' elsif (x.scan(')').count == 2) && (x.scan('(').count == 1) x.gsub(/\)\).*/, ')') elsif (x.scan(')').count > 0) if (x.include? 'wikipedia') if (x.scan(')').count >= 1) && (x.scan('(').count == 0) x.gsub(/\).*/, '') else x end else x.gsub(/\).*/, '') end elsif x.include? '[' # adoc x.gsub(/\[.*/, '') elsif x[-1]=='.' || x[-1]==':' x[0..-2] elsif x[-1]=='.' x[0..-2] elsif x[-3..-1]=='%2c' x[0..-4] else x end end end def links_find(content, url_base=nil) require 'uri' ext = URI.extract(content, /http()s?/) return ext if url_base.nil? rel = get_relative_links content, url_base return rel + ext end def get_relative_links(content, base) links = content.scan /\].*?\)/ links.reject { |x| x.include?('http') || x.include?('#') } .map { |x| x.sub '](', ''} .map { |x| x =~ /\S/ ? x.match(/^\S*/) : x } .map { |x| "#{base}#{x}"} end end # class end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
awesome_bot-1.17.2 | lib/awesome_bot/links.rb |
awesome_bot-1.17.1 | lib/awesome_bot/links.rb |