I'm just starting out with Ruby and I've got a question about the OO features of the language.

Does Ruby support native interfaces, or do you need to code your own base or mixin setup?

And if you do manage to create a interface then is it possible to setup a type hint within a the parameters of a function to only allow a specific type of Class or Interface to be accepted?

sub someFunc(Class a)

end

Is this possible?