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