RubyUW: Ruby Interface to MyUW
RubyUW is NOT supported in any way by the University of Washington
RubyUW provides a programmable interface to MyUW, University of Washington's student web portal.
Why?
Proof of Concept.
It's a fun project and it was really a proof of concept more than anything. I don't plan on officially supporting this library or promising updates in case any features break. Its a good example for any Ruby developer on the uses of mechanize and the ability to scrape content or simulate a human at a browser.
It is also a useful library to create MyUW automation tools with. I do not support this.
How does it work?
RubyUW functions by emulating a human in an actual browser. It hunts down buttons to click, fields to fill in, etc. It is programmed using the Ruby Mechanize library to achieve this level of human simulation.
Of course this also means that even minor tweaks to the MyUW layout could potentially "break" the RubyUW library.
Installing
# Install the gem
sudo gem sources -a http://gems.github.com
sudo gem install mitchellh-rubyuw
Using RubyUW
It's easy to get started with RubyUW. Officially RDoc documentation is planned but is not up yet. Sorry!
The following is a quick and simple example:
require 'myuw'
myuw = MyUW.new
myuw.login("netid", "password") or raise("Login Failed!")
# Get SLN information
sln_info = myuw.sln(14153)