Well, that was fun.

Actually, my favourite part was doing
> while level.move(EAST); end
and
> 7.times{level.move(WEST)}
in irb, before I built the CLI. I don't know why. It's interesting to use 
Ruby directly to control a game.

So here is Dave's Cheap Ruby Sokoban:

http://www.dave.burt.id.au/ruby/sokoban.rb

That's cheap as in cheap beer and as in cheap speech, in case you were 
wondering.

Standard Ruby, tested on 1.8.1, no dependencies apart from Sokoban levels: 
get them from the Ruby Quiz place
http://www.grayproductions.net/ruby_quiz/sokoban_levels.txt
or my place
http://www.dave.burt.id.au/ruby/sokoban_levels.txt

(Note:  These levels are Copyrighted by Thinking Rabbit.  You may play them 
but
not profit from them in any way.)