Sha256: 1bced190a8b63527b4c9a28d499caa7a9354c8853cf3d0d0fec0f1c281154682

Contents?: true

Size: 646 Bytes

Versions: 5

Compression:

Stored size: 646 Bytes

Contents

mod array;
mod binary;
mod categorical;
mod datetime;
mod general;
mod list;
mod meta;
mod name;
mod rolling;
mod string;
mod r#struct;

use magnus::{prelude::*, RArray};
use polars::lazy::dsl::Expr;

use crate::RbResult;

#[magnus::wrap(class = "Polars::RbExpr")]
#[derive(Clone)]
pub struct RbExpr {
    pub inner: Expr,
}

impl From<Expr> for RbExpr {
    fn from(inner: Expr) -> Self {
        RbExpr { inner }
    }
}

pub fn rb_exprs_to_exprs(rb_exprs: RArray) -> RbResult<Vec<Expr>> {
    let mut exprs = Vec::new();
    for item in rb_exprs.each() {
        exprs.push(<&RbExpr>::try_convert(item?)?.inner.clone());
    }
    Ok(exprs)
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
polars-df-0.11.0 ext/polars/src/expr/mod.rs
polars-df-0.10.0 ext/polars/src/expr/mod.rs
polars-df-0.9.0 ext/polars/src/expr/mod.rs
polars-df-0.8.0 ext/polars/src/expr/mod.rs
polars-df-0.7.0 ext/polars/src/expr/mod.rs