class Myredditnews::Formatter
Public Class Methods
default()
click to toggle source
# File lib/myredditnews.rb, line 106 def self.default self.new '{{title}} - {{author}}' end
Public Instance Methods
fmt(entry)
click to toggle source
# File lib/myredditnews.rb, line 94 def fmt(entry) new_title = @format.gsub(/\{\{(.+?)\}\}/) { |match| entry.send($1) } new_entry = entry.clone new_entry.title = new_title new_entry.content = format_content(new_entry) if new_entry.content.empty? new_entry.self_post = false else new_entry.content += "\n\n" + md_link('source', new_entry.url) end return new_entry end
Private Instance Methods
filter_html(html)
click to toggle source
# File lib/myredditnews.rb, line 119 def filter_html html Nokogiri::HTML(html).xpath("//text()").remove.to_s end
format_content(entry)
click to toggle source
# File lib/myredditnews.rb, line 113 def format_content entry # maybe translate to markdown? return filter_html(entry.content) if !entry.content.empty? return filter_html(entry.summary) if !entry.summary.empty? return '' end
md_link(text, url)
click to toggle source
# File lib/myredditnews.rb, line 110 def md_link(text, url) "[#{text}](#{url})" end