There is also the ethereum-tx gem. It is intended for keeping the signing and building of transactions separate from the full node. You could host your full node on the same server, but you don't need to. For a lot of Ethereum applications, you only need to be able to read the blockchain and send transactions. Depending on the frequency with which you need to do this, you could run your own node, or maybe get away with using a block explorer's API.
If you already have private keys with ether you can import them, or generate new keys to send Ethereum(see Ethereum::Key
class). Once you have some keys you can build transactions and sign them with the key(see Ethereum::Tx
class). Finally, you can encode those transactions and broadcast them to an Ethereum full node using the JSON-RPC API, or any block explorer that supports raw transactions(either way you just need an HTTP library).
The one thing left to do is get notifications about when an address receives messages or ether. Events work for contracts, but not regular accounts. I'm not really sure of a fully comprehensive solution in any language, so I'd recommend rolling your own based on your specific needs.