Add slice -> Ruby array

This commit is contained in:
Godfrey Chan 2017-10-05 10:47:42 -07:00
parent f584a08f5b
commit ff2a9d2a59
3 changed files with 14 additions and 2 deletions

View File

@ -6,6 +6,7 @@ mod float;
mod string;
mod option;
mod result;
mod slice;
mod vec;
use sys::{VALUE};

12
src/coercions/slice.rs Normal file
View File

@ -0,0 +1,12 @@
use super::{ToRuby, ToRubyResult};
use sys::{rb_ary_new_capa, rb_ary_push};
impl<'a, T> ToRuby for &'a [T] where &'a T: ToRuby {
fn to_ruby(self) -> ToRubyResult {
let ary = unsafe { rb_ary_new_capa(self.len() as isize) };
for item in self {
unsafe { rb_ary_push(ary, item.to_ruby()?); }
}
Ok(ary)
}
}

View File

@ -1,5 +1,4 @@
use sys;
use sys::{VALUE};
use sys::{self, VALUE};
use super::{CheckResult, FromRuby, ToRuby, ToRubyResult};
use super::super::{inspect};