public
Fork of dj2/ruby-postrank
Description: Ruby PostRank Wrapper by Dan Sinclair
Homepage: http://github.com/dj2/ruby-postrank/wikis
Clone URL: git://github.com/aiderss/ruby-postrank.git
joshbuddy (author)
Tue Jan 06 09:04:57 -0800 2009
aiderss (committer)
Tue Jan 06 09:12:33 -0800 2009
name age message
file .gitignore Loading commit data...
file COPYING Tue Jul 15 19:19:13 -0700 2008 Add copying and gemspec files. Update readme [dj2]
file README.rdoc Wed Dec 31 08:59:34 -0800 2008 fixup documentation. Thanks Igor. Signed-off-b... [dan sinclair]
file Rakefile
directory examples/ Tue Jan 06 09:12:33 -0800 2009 added recommend to api Signed-off-by: dj2 <dj2... [joshbuddy]
directory lib/
file postrank.gemspec

Ruby PostRank

A simple wrapper around the PostRank.com REST API. I’ve tried to keep the API simple without it being a bare API wrapper.

Dependencies

You will need the OAuth gem installed in order to use Ruby PostRank.

  - sudo gem install oauth

Walkthrough

I’ve tried to keep the API as simple as possible. It’s about one step above the bare PostRank API. Hopefully the added abstraction is useful. The easiest way to explain this is probably to show an example. So, here we go.

  #!/usr/bin/env ruby

  require 'rubygems'
  require 'postrank'

  include PostRank

  conn = Connection.instance
  conn.appkey = "everburning.com/ruby-postrank"
  eb = Feed.find_by_url("http://everburning.com")

  puts "The GREAT everburning feeds"
  eb.entries(:level => Level::GREAT).each do |entry|
    puts entry
  end

  puts "\nThe top 5 posts in the last week on everburning"
  eb.topposts(:period => Period::WEEK).each do |entry|
    puts "#{entry.title} -- #{entry.postrank} -- #{entry.postrank_color}"
  end

  puts "\nGet thematic PostRanked items"
  PostRank::PostRank.calculate(["http://flickr.com/photos/14009462@N00/2654539960/",
                    "http://www.flickr.com/photos/21418584@N07/2447928272/",
                    "http://www.flickr.com/photos/pilou/2655293624/"]).each do |entry|
    puts "#{entry.original_link} #{entry.postrank}"
  end

  puts "\nGet PostRanked items"
  PostRank::PostRank.calculate(['http://everburning.com/news/on-recent-media/',
                    'http://everburning.com/news/californication/',
                    'http://everburning.com/news/the-weary-traveler/'],
              :feeds => [eb]).each do |entry|
    puts "#{entry.original_link} #{entry.postrank}"
  end

That’s basically it.

Contact

If you’ve got any questions, comments or bugs, please let me know. You can contact me by email at dan at aiderss dot com.