Any programming language can be used for any activity. Of course, some are better for one application than others.
There are some languages that have chosen to be niche even and are very good at it. An example is R that is suitable for statistics.
But the vast majority of languages choose to be of general use by reaching a larger audience. Of course, they are not usually better off than the others. They are just reasonably good at everything. This is the case with Ruby.
What often determines a slightly greater use of language is not the language itself, but the platforms where it begins to be used or the existing libraries for it.
Clear examples of the first case are JavaScript, which was used in all browsers and even standardized, and Lua, which has been chosen by many games as a personalization language.
In the second case Ruby is the best example where the library determined the success and niche of the language. There are people who think the language is called Ruby on Rails .
But the reality is that Ruby can be used for anything that does not require extreme performance. Ruby is not known for being fast language. And as tools emerge to make it faster, there will always be limitations, you will never be able to compete with static typing languages, just to stay on the most obvious example.
I do not know how Ruby support is on mobile devices. I believe it is weak or nonexistent. This may change. But I doubt there's any room left for Ruby to be strong in this. Note that even full support will be the responsibility of libraries, not language.
Want to make GUI / Desktop applications? Okay. Ruby supports through existing libraries, such as: Shoes , FXRuby , QtRuby , etc.
Want more? Search Ruby Toolbox and Ruby Gems .
It has literally thousands of libraries, most of which are not for the web.