Sort:  

Yep, you can ask for a stream of transactions, then access the operations within them. Same for transactions in block streams. E.g.:

stream = Radiator::Stream.new
stream.transactions do |tx|
  puts tx.operations.size
end

Often, there's only one element in the operations array. But there's no reason it should always be one. When the site is busy, there can be quite a few.

What about storage? Like posting keys? Those aren't supported yet because it's entirely read-only at the moment. Hopefully, I'll soon support signing transactions. But I don't think there's any reason that this gem itself should store keys. That'll be up to the implementation. I'll probably offer tools to make that easier.

Sorry, I'd meant where are you storing your data, or is it just in RAM at the moment?

It's just a library for rpc, so yep, just memory. I'm planning on writing a rails plugin to save blocks/transactions/operations to a database. You'll be able to use any dbms rails supports. The default will be sqlite3.

The nice thing about the plugin is that you can just use it to save the blockchain and use it independent from the plugin. Or, if you want, you can use the plugin to embed in an existing rails app, all in its own namespace.

Don't know if you golang at all, but:

github.com/faddat/steemjson

is the golang expression of such ideas.