Probably you should specify the default_account for client(sender address).
In my case I have added it in this way:
client = Ethereum::IpcClient.new("your path to .ipc", true)
client.default_account = '0xa9db3f4efe....'
then
contract = Ethereum::Contract.create( abi: abi, name: name, client:client, address: address)