closures are key (know about their scoping), eigenclasses (or metaclasses or whatever you want to call them), mixins (both include and extend and all the stupid tricks you can do with them), and metaprogramming are the Ruby specific things that come to mind. Standard OO and functional programming techniques would also be fair game.