Sha256: 66ba50073abd87398f920bc4fa616581296111e935e297aa6f8fc0dbd8e0c38c
Contents?: true
Size: 1.12 KB
Versions: 5
Compression:
Stored size: 1.12 KB
Contents
use magnus::exception; use magnus::Error; use polars::prelude::PolarsError; pub struct RbPolarsErr {} impl RbPolarsErr { // convert to Error instead of Self pub fn from(e: PolarsError) -> Error { Error::new(exception::runtime_error(), e.to_string()) } pub fn io(e: std::io::Error) -> Error { Error::new(exception::runtime_error(), e.to_string()) } pub fn other(message: String) -> Error { Error::new(exception::runtime_error(), message) } } pub struct RbTypeError {} impl RbTypeError { pub fn new_err(message: String) -> Error { Error::new(exception::type_error(), message) } } pub struct RbValueError {} impl RbValueError { pub fn new_err(message: String) -> Error { Error::new(exception::arg_error(), message) } } pub struct ComputeError {} impl ComputeError { pub fn new_err(message: String) -> Error { Error::new(exception::runtime_error(), message) } } #[macro_export] macro_rules! raise_err( ($msg:expr, $err:ident) => {{ Err(PolarsError::$err($msg.into())).map_err(RbPolarsErr::from)?; unreachable!() }} );
Version data entries
5 entries across 5 versions & 1 rubygems