module Bencoding module Hash def to_bencoding return '' if empty? data = sort{|a,b|a[0].to_s<=>b[0].to_s}.collect do|key, item| unless (item_data = item.to_bencoding).nil? key.to_bencoding+item.to_bencoding else '' end end.join "d"+data+"e" end end end