1) Just add two spaces, you don't NEED a tab
2) It's not "Smurf.method_name," it's "self.method_name"
3) BTW, case statements don't use ==, they use ===, which is the same as == except when used with certain objects (such as Ranges and Regexps), in which case they are overridden by said object and add in some nice functionality. For example:
a = 1705351351
b = "Hello, my name is Ruth. My friend is Ted.\n"
case a
when 0..1000000 then print "Hello, World!\n" # Fails because 1705351351 is not between 0 and 1000000
when 1000001...1705351351 then print "Hello, World! (Not! I hate you, GTFO!)\n" # Fails because "..." is exclusive
when 1705351350..1705351351 then print "W/e.\n" # Succeeds because ".." is inclusive; if it wasn't it wouldn't be a range :P