Sha256: 8975d353a8a35d4dbdf83615f55e7b06547b4e27cb785efdeba1a2547579697b
Contents?: true
Size: 1.69 KB
Versions: 2
Compression:
Stored size: 1.69 KB
Contents
# -*- encoding: utf-8 -*- module Tweetskim class Formatter def lines(tweets, options = {}) tweet_texts = tweets.reverse.map {|tweet| "--#{tweet.user.name}-- #{text(tweet)}\n"} lines = tweet_texts.join("") end def text(tweet) if tweet.retweeted_status "RT @#{tweet.retweeted_status.user.screen_name}: #{tweet.retweeted_status.text}" else tweet.text end end def htmlize(tweet) text = text(tweet).gsub('\n', '<br/>') "<div class='tweet'><h1>#{tweet.user.name} <span class='time'>#{time(tweet)}</span></h1><p>#{text}<p></div>" end def time(tweet) tweet_time = tweet.created_at now = Time.now if now.day != tweet_time.day "#{tweet_time.day} / #{tweet_time.mon}" else "#{tweet_time.hour}:#{tweet_time.min}" end end def html(tweets, options = {}) html_tweets = tweets.reverse.map {|tweet| htmlize(tweet)}.join("") body = <<HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Tweetskim</title> </head> <body> <style> #tweets { width: 500px; margin-left: 50px; } .tweet { margin-top: 50px; margin-bottom: 50px; } .tweet h1 { color: #ADADAD; font-size: 2.0em; margin-bottom: 0px; } .tweet .time { color: #ADADAD; font-size: 0.5em; } .tweet p { font-size: 1.2em; margin: 0 0 0 0; margin-left: 50px; font-family: sans-serif; } </style> <div id="tweets"> #{html_tweets} </div> </body> </html> HTML return body end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tweetskim-0.8.0 | lib/tweetskim/formatter.rb |
tweetskim-0.7.0 | lib/tweetskim/formatter.rb |