Does Ruby have anything that Smalltalk doesn't? The language looks almost one-to-one except with a Pascal/C look and operator precedence.
Things Ruby has and Smalltalk doesn't:
Ruby has mixins; Smalltalk does not.
Ruby permits adding methods to individual objects; in Smalltalk, all methods reside in classes.
Ruby has several other literal syntaxes for convenience, that Smalltalk does not.
In Ruby, it is practical and somewhat useful to add methods dynamically in Smalltalk, the practice is generally to treat the methods and classes as static.
Ruby offers powerful macros in class definitions; Smalltalk offers no macros at all.
In Ruby (as in the language Self, the pioneer in this regard, and from which the language Self gets its name), you can usually abbreviate message calls on "self" by omitting the mention of "self". For example, for "self.foo" you can write simply "foo". But in Smalltalk, you cannot abbreviate "self foo" by writing simply "foo". This makes a major economy in writing and reading Ruby code.
Ruby does not require declarations of all local variables and instance variables.