diff --git a/lib/post_analyser.rb b/lib/post_analyser.rb deleted file mode 100644 index e4f0f9d57..000000000 --- a/lib/post_analyser.rb +++ /dev/null @@ -1,63 +0,0 @@ -module PostAnalyser - - - def raw_mentions - return [] if raw.blank? - - # We don't count mentions in quotes - return @raw_mentions if @raw_mentions.present? - raw_stripped = raw.gsub(/\[quote=(.*)\]([^\[]*?)\[\/quote\]/im, '') - - # Strip pre and code tags - doc = Nokogiri::HTML.fragment(raw_stripped) - doc.search("pre").remove - doc.search("code").remove - - results = doc.to_html.scan(PrettyText.mention_matcher) - @raw_mentions = results.uniq.map { |un| un.first.downcase.gsub!(/^@/, '') } - end - - # Count how many hosts are linked in the post - def linked_hosts - return {} if raw_links.blank? - - return @linked_hosts if @linked_hosts.present? - - @linked_hosts = {} - raw_links.each do |u| - uri = URI.parse(u) - host = uri.host - @linked_hosts[host] ||= 1 - end - @linked_hosts - end - - # Returns an array of all links in a post excluding mentions - def raw_links - return [] unless raw.present? - - return @raw_links if @raw_links.present? - - # Don't include @mentions in the link count - @raw_links = [] - cooked_document.search("a[href]").each do |l| - next if link_is_a_mention?(l) - url = l.attributes['href'].to_s - @raw_links << url - end - @raw_links - end - - # How many links are present in the post - def link_count - raw_links.size - end - - private - - def link_is_a_mention?(l) - html_class = l.attributes['class'] - return false if html_class.nil? - html_class.to_s == 'mention' && l.attributes['href'].to_s =~ /^\/users\// - end -end