I'm getting somewhere with the ruby implementation (on testnet):
Building a data transaction.
1.9.3p286 :077> options = {receiving_address: "n3wLS8G69kD96Czw3xbUg17ipsb2W1NGvB", amount: 100000000, transaction_type: 1, currency_id: 2}
1.9.3p286 :078> Mastercoin::Address.new(options).encode_to_address
=> "mppHDcxP8tmLU44CN5jkVtTgutf34cSEFE"
Parsing a bitcoin transction via Mastercoin.
1.9.3p286 :079>Bitcoin.network = :testnet3
1.9.3p286 :080>Mastercoin::Transaction.new("e4ed08ec03ff42e40b9be85cea97b24232e471d1efec23022403a1fd8ed55516").to_s
=> "Simple send:: Send 1 'Test Mastercoin' to n3wLS8G69kD96Czw3xbUg17ipsb2W1NGvB"
However I'm having trouble generating the same sequence as the python script.
I was wondering if you could explain what base58_found.b58decode returns exactly; my terminal doesn't really know what it is suppose to be:
http://cl.ly/image/0p343M1G3d0I.
My ruby version returns a pretty string (like 6ff5ef3b2e5adb597313a91ea898ae1314032bbbe4df3360d0) so I am not creating the same sequences as you are; which is pretty important ^^