From da759a7e0b2f7b16d79569739682ddb009f44752 Mon Sep 17 00:00:00 2001 From: Jaroslaw Konik Date: Mon, 26 May 2025 07:00:00 +0200 Subject: [PATCH] refactor --- src/runtimes/ruby.rs | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/src/runtimes/ruby.rs b/src/runtimes/ruby.rs index 2db6f76..e8a8b3d 100644 --- a/src/runtimes/ruby.rs +++ b/src/runtimes/ruby.rs @@ -222,17 +222,15 @@ impl TryConvert for BevyVec3 { impl From for ScriptingError { fn from(value: magnus::Error) -> Self { - // TODO: DRY ScriptingError::RuntimeError( value.inspect(), value .value() - .unwrap() - .funcall::<_, _, magnus::RArray>("backtrace", ()) // TODO: is there an API for this - // somehwere - .unwrap() + .expect("No error value") + .funcall::<_, _, magnus::RArray>("backtrace", ()) + .expect("Failed to get backtrace") .to_vec::() - .unwrap() + .expect("Failed to convert backtrace to vec of strings") .join("\n"), ) } @@ -385,18 +383,8 @@ impl Runtime for RubyRuntime { var.ivar_set("_current", BevyEntity(entity)) .expect("Failed to set current entity handle"); - ruby.eval::(&script).map_err(|e| { - ScriptingError::RuntimeError( - e.inspect(), - e.value() - .unwrap() - .funcall::<_, _, magnus::RArray>("backtrace", ()) - .unwrap() - .to_vec::() - .unwrap() - .join("\n"), - ) - })?; + ruby.eval::(&script) + .map_err(|e| >::into(e))?; var.ivar_set("_current", ruby.qnil().as_value()) .expect("Failed to unset current entity handle");