class PublifyApp::Textfilter::Twitterfilter
Public Class Methods
filtertext(text)
click to toggle source
# File lib/publify_textfilter_twitterfilter.rb, line 11 def self.filtertext(text) # First, autolink text = text.to_s URI.extract(text, %w(http https mailto gopher)) do |item| text = text.gsub(item, "<a href='#{item}'>#{item}</a>") end # hashtags text.split.grep(/^#\w+/) do |item| # strip_html because Ruby considers "#prouddad</p>" as a word item = item.strip_html search_item = URI.encode_www_form_component(item) uri = "https://twitter.com/search?q=#{search_item}&src=tren&mode=realtime" text = text.gsub(item, "<a href='#{uri}'>#{item}</a>") end # @mention text.to_s.split.grep(/@\w+/) do |item| item = item.strip_html uri = html_escape("https://twitter.com/#{item.delete("@")}") text = text.gsub(item, "<a href='#{uri}'>#{item}</a>") end text end