class RRImm::ItemFormatter::Mail

Attributes

dest[RW]
sender[RW]

Public Class Methods

new(hash) click to toggle source
# File lib/rrimm/item_formatter/mail.rb, line 7
def initialize(hash)
  @dest = hash[:to]
  @sender = hash[:from]
end

Public Instance Methods

format(feed, item, feed_config, pipe) click to toggle source
# File lib/rrimm/item_formatter/mail.rb, line 30
def format(feed, item, feed_config, pipe)
  pipe.write "From: #{guess_author(feed_config, item.author)}\n"
  pipe.write "To: #{dest}\n"
  pipe.write "Date: #{item.published.rfc2822}\n"
  pipe.write "Subject: #{subject(feed, item, feed_config)}\n"
  pipe.write "Content-Type: text/html;\n"
  pipe.write "X-Source-Uri: #{feed_config.uri}\n"
  pipe.write "\n"
  pipe.write item.url
  pipe.write "\n\n"
  pipe.write (item.content || item.summary)
  pipe.write "\n"
end
guess_author(feed_config, item_author) click to toggle source
# File lib/rrimm/item_formatter/mail.rb, line 12
def guess_author(feed_config, item_author)
  name = "RRImm"
  name = feed_config.name unless feed_config.default_name?
  name = item_author if item_author
  name = name.gsub(/,/, ' ') # clean from field
  if name.include? '@'
    name
  else
    "#{name} <#{@sender}>"
  end
end
subject(feed, item, feed_config) click to toggle source
# File lib/rrimm/item_formatter/mail.rb, line 24
def subject(feed, item, feed_config)
  subject = item.title
  subject = "[#{feed_config.category}]#{item.title}" if feed_config.category
  subject
end