これをRubyに書き直してください。
おねがいします。

canvas .c -background white
pack .c -fill both -expand 1
wm geometry . 300x200
wm resizable . 0 0

set x 1
set y 1
set xpos 35
set ypos 85

.c create oval 30 80 40 90 -outline black -fill red
while {1} {
.c move 1 $x $y
set xpos [expr $xpos + $x]
set ypos [expr $ypos + $y]
if {$xpos >= 295 || $xpos <= 5} {
set x [expr $x * -1]
}
if {$ypos >= 195 || $ypos <=5} {
set y [expr $y * -1]
}
after 10
update
}