Sha256: b4f9c72218af6402e8cc9cdba796fa78a683c6197b56739473e3dbf9ccb98c9c

Contents?: true

Size: 537 Bytes

Versions: 3

Compression:

Stored size: 537 Bytes

Contents

require File.join(File.dirname(__FILE__), '../owidget')
require 'nokogiri'
require 'open-uri'

module OWidget
  class Consumer
    def initialize(content='', links=[])
      @content, @links = content, links
    end
    
    def links(force=false)
      if @links.empty? or force
        doc = Nokogiri::HTML(@content)
        @links = (doc/'html head link[rel="owidget"]').map{ |link| link['href'] }
      end
      return @links
    end
    
    def widgets
      links.map do |href|
        open(href).read
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bradgessler-owidget-0.0.0 lib/consumer/consumer.rb
bradgessler-owidget-0.0.1 lib/consumer/consumer.rb
bradgessler-owidget-0.0.2 lib/owidget/consumer.rb