ruru 0.9.3

Native Ruby extensions in Rust
Documentation
use ruby_sys::array;

use types::{c_long, Value};

pub fn new() -> Value {
    unsafe { array::rb_ary_new() }
}

pub fn with_capacity(capacity: usize) -> Value {
    unsafe { array::rb_ary_new_capa(capacity as c_long) }
}

pub fn entry(array: Value, offset: i64) -> Value {
    unsafe { array::rb_ary_entry(array, offset as c_long) }
}

pub fn join(array: Value, separator: Value) -> Value {
    unsafe { array::rb_ary_join(array, separator) }
}

pub fn len(array: Value) -> i64 {
    unsafe { array::rb_ary_len(array) as i64 }
}

pub fn push(array: Value, item: Value) -> Value {
    unsafe { array::rb_ary_push(array, item) }
}

pub fn store(array: Value, offset: i64, item: Value) -> Value {
    unsafe { array::rb_ary_store(array, offset as c_long, item) }
}

pub fn pop(array: Value) -> Value {
    unsafe { array::rb_ary_pop(array) }
}

pub fn unshift(array: Value, item: Value) -> Value {
    unsafe { array::rb_ary_unshift(array, item) }
}

pub fn shift(array: Value) -> Value {
    unsafe { array::rb_ary_shift(array) }
}

pub fn dup(array: Value) -> Value {
    unsafe { array::rb_ary_dup(array) }
}

pub fn to_s(array: Value) -> Value {
    unsafe { array::rb_ary_to_s(array) }
}

pub fn reverse_bang(array: Value) -> Value {
    unsafe { array::rb_ary_reverse(array) }
}

pub fn concat(array: Value, other_array: Value) -> Value {
    unsafe { array::rb_ary_concat(array, other_array) }
}

pub fn sort(array: Value) -> Value {
    unsafe { array::rb_ary_sort(array) }
}

pub fn sort_bang(array: Value) -> Value {
    unsafe { array::rb_ary_sort_bang(array) }
}