Spacer, Yes with an 'e', Released

Posted by shane
on Monday, February 11

DESCRIPTION

Ruby API for the MySpace Platform REST API

FEATURES/PROBLEMS

  • Implements v1.0 of the MySpace Platform REST API
  • Uses OAuth to securely authenticate with MySpace
  • Uses JSON for minimal transport footprint

PLAY

@myspace = Spacer::Client.new(api_key, secret_key)
user = @myspace.user('3454354')
puts user.interests.music
puts user.photos.first.caption

REQUIREMENTS

  • OAuth
  • ActiveSupport
  • Mocha (for testing)

INSTALL

  • sudo gem install spacer

DOCUMENTATION

Rubyforge: http://rubyforge.org/projects/spacer/ (submit bugs here)

RDocs: http://spacer.rubyforge.org/

Goolge Group: http://groups.google.com/group/spacer-ruby

NOTES

MySpace is still actively making changes to their API, so this is far from a 1.0 release. However, as of the day of this post, it implements all the features of their REST API.

Thanks to Ken Pelletier for coming up with the very creative name.

photo credits: bub.blicio.us and Scott Beale / Laughing Squid

Introducing YouTube-G

Posted by shane
on Monday, February 11

Walter Korman and I are proud to release youtube-g version 0.4.1.

youtube-g is a pure Ruby client for the YouTube GData API. It provides an easy way to access the latest YouTube video search results from your own programs. In comparison with the earlier Youtube search interfaces, this new API and library offers much-improved flexibility around executing complex search queries to obtain well-targeted video search results.

More detail on the underlying source Google-provided API is available at:

http://code.google.com/apis/youtube/overview.html

FEATURES

Aims to be in parity with Google’s YouTube GData API. Core functionality is currently present—work is in progress to fill in the rest.

USE

Create a client:

require 'youtube_g'
client = YouTubeG::Client.new

Basic queries:

client.videos_by(:query => "penguin")
client.videos_by(:tags => ['tiger', 'leopard'])
client.videos_by(:categories => [:news, :sports])
client.videos_by(:categories => [:news, :sports], :tags => ['soccer', 'football'])
client.videos_by(:user => 'liz')

Standard feeds:

client.videos_by(:most_viewed)
client.videos_by(:top_rated, :time => :today)

Advanced queries (with boolean operators OR (either), AND (include), NOT (exclude)):

client.videos_by(:categories => { :either => [:news, :sports], :exclude => [:comedy] }, :tags => { :include => ['football'], :exclude => ['soccer'] })

DOCUMENTATION

Rubyforge project: http://rubyforge.org/projects/youtube-g/

RDoc: http://youtube-g.rubyforge.org/

Google Group: http://groups.google.com/group/ruby-youtube-library?hl=en

INSTALL

  • sudo gem install youtube-g

Changes:

0.4.1 / 2008-02-11

  • Added 3GPP video format [shane]
  • Fixed tests [shane]

0.4.0 / 2007-12-18

  • Fixed API projection in search URL [Pete Higgins]
  • Fixed embeddable video searching [Pete Higgins]
  • Fixed video embeddable detection [Pete Higgins]
  • Fixed unique id hyphen detection [Pete Higgins, Chris Taggart]

0.3.0 / 2007-09-17

  • Initial public release

NOTES

Our previous library, youtube, has been deprecated. Please use youtube-g from now on.

Who can guess what the name youtube-g is in reference to? Hint: Like us, you probably used BBS’s before the days of the web, when wide adoption of TCP/IP was still a few years away.

Super Rewards Client API Released

Posted by shane
on Sunday, February 10

DESCRIPTION

A Ruby client for the $uper Rewards API by KITN Media, the Facebook monetization tool.

FEATURES

  • Aims to implement all the functionality of the $uper Rewards service
USE
offer_code = SuperRewards::Client.offers_display(:iframe, uid)
points = SuperRewards::Client.get_points(uids).first.user.points

REQUIREMENTS

  • API / Secret keys for the $uper Rewards service
  • Shoulda gem (for testing)

INSTALL

  • sudo gem install superrewards

DOCUMENTATION

Rubyforge: http://rubyforge.org/projects/superrewards/

RDocs: http://superrewards.rubyforge.org/

NOTES

I released this on December 17th, 2007, so the service may have changed since then. All the tests still pass as of the day of this post.

Thanks to Eugene from KITN Media for helping me with debugging and testing, and Jason Bailey for moral support.