Sha256: e8879d3b2019a4b2625fa5c2ed8ecd735c739767e5b51ae611c4dd08211e2a30
Contents?: true
Size: 1.18 KB
Versions: 11
Compression:
Stored size: 1.18 KB
Contents
module Sources # Describes a Delicious (http://deli.cio.us) source. # # This source has a fixed set of categories: # * title # * tags # * url # # Examples: # Sources::CSV.new('usrnam', 'paswrd') # class Delicious < Base def initialize username, password check_gem @username = username @password = password end def check_gem # :nodoc: require 'www/delicious' rescue LoadError puts_gem_missing 'www-delicious', 'the delicious source' exit 1 end # Harvests the data to index. # def harvest _, category get_data do |indexed_id, data| text = data[category.from] next unless text text.force_encoding 'utf-8' # TODO Still needed? yield indexed_id, text end end # # def get_data # :nodoc: @generated_id ||= 0 @posts ||= WWW::Delicious.new(@username, @password).posts_recent(count: 100) @posts.each do |post| data = { title: post.title, tags: post.tags.join(' '), url: post.url.to_s } @generated_id += 1 yield @generated_id, data end end end end
Version data entries
11 entries across 11 versions & 1 rubygems