Class: QiitaMail::FormatHTML

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita_mail/format_html.rb

Constant Summary collapse

HEADER =
<<EOF
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Qiita Mail</title>
</head>
<body style="color:#000000; font-size:14px;">
<div id="banner" style="font-size: 36px; color:#FFFFFF; background-color:#5ABB0E">QiitaMail</div>
<p>こんにちは!</p>
<p><a href="http://qiita.com">Qiita</a>で今話題になっている記事をお届けします。</p>
EOF
<<EOF
</body>
</html>
EOF

Instance Method Summary collapse

Constructor Details

#initialize(items) ⇒ FormatHTML

Returns a new instance of FormatHTML.



14
15
16
# File 'lib/qiita_mail/format_html.rb', line 14

def initialize(items)
  @items = items
end

Instance Method Details

#to_sObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/qiita_mail/format_html.rb', line 36

def to_s
  HEADER + @items.map {|item|
    summary = Nokogiri::HTML(item.body).inner_text
    summary = summary[0..200] + '...' if summary.length > 200
    summary = summary.gsub("\n", "<br>")

    <<EOF
<hr>
<div id="title" style="font-size: 28px;"><img src="#{item.user.profile_image_url}" style="margin-right: 5px; width: 72px;"/><a href="#{item.url}" style="color:#2C6EBD; text-decoration:none;">#{item.title}</a></div>
<div id="summary" style="background-color:#FCFCFC; border-style: solid; border-width: 1px; border-color: #DDDDDD; margin: 10px 5px; padding: 10px;">#{summary} <a href="#{item.url}">続きを読む</a> </div>
<div id="footer">ストック(#{item.stock_count}) コメント(#{item.comment_count}) #{item.created_at_in_words}</div>
EOF
  }.join("\n") + FOOTER
end