Sha256: bf7c4c0cb9acdf2efde48f1dd74d9f06f27144e52399126eb2dcad22b3b87fe6

Contents?: true

Size: 1.32 KB

Versions: 9

Compression:

Stored size: 1.32 KB

Contents

require 'hpricot'

class Comic
  attr_reader :rss, :title

  def initialize(body)
    @rss = Hpricot.XML(body)
    @title = @rss.at("//channel/title").inner_text
  end

  def items
    @rss.search("//channel/item")
  end

  def latest_image
    @rss.search("//channel/item").first.inner_html.scan(/src="([^"]+\.\w+)"/).first
  end
end

Shoes.app :width => 800, :height => 600 do
  background "#555"

  @title = "Web Funnies"
  @feeds = [
    "http://xkcd.com/rss.xml",
    "http://feedproxy.google.com/DilbertDailyStrip?format=xml",
    "http://www.smbc-comics.com/rss.php",
    "http://www.daybydaycartoon.com/index.xml",
    "http://www.questionablecontent.net/QCRSS.xml",
    "http://indexed.blogspot.com/feeds/posts/default?alt=rss"
    ]

  stack :margin => 10 do
    title strong(@title), :align => "center", :stroke => "#DFA", :margin => 0
    para "(loaded from RSS feeds)", :align => "center", :stroke => "#DFA",
      :margin => 0

    @feeds.each do |feed|
      download feed do |dl|
        stack :width => "100%", :margin => 10, :border => 1 do
          c = Comic.new dl.response.body
          stack :margin_right => gutter do
            background "#333", :curve => 4
            caption c.title, :stroke => "#CD9", :margin => 4
          end
          image c.latest_image.first, :margin => 8
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 4 rubygems

Version Path
scarpe-0.4.0 examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb
scarpe-0.3.0 examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb
scarpe-0.2.2 examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb
lacci-0.2.1 examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb
scarpe-0.2.1 examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb
scarpe-0.2.0 examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb
shoes-3.0.1 samples/expert-funnies.rb
shoesgem-0.1514.0 shoes/samples/expert-funnies.rb
shoesgem-0.1424.0 shoes/samples/expert-funnies.rb