Add r_set_content() for FileLockEntry
This commit is contained in:
parent
7848da07e6
commit
e11a6cc5ad
1 changed files with 24 additions and 0 deletions
|
@ -240,6 +240,30 @@ pub mod store {
|
||||||
itself.get_data(&*FLE_WRAPPER).get_content().clone().wrap()
|
itself.get_data(&*FLE_WRAPPER).get_content().clone().wrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn r_set_content(ctt: RString) -> NilClass {
|
||||||
|
use ruby_utils::IntoToml;
|
||||||
|
use toml_utils::IntoRuby;
|
||||||
|
use toml::Value;
|
||||||
|
|
||||||
|
let mut content = itself.get_data(&*FLE_WRAPPER).get_content_mut();
|
||||||
|
|
||||||
|
if let Err(ref error) = ctt { // raise exception if "ctt" is not a String
|
||||||
|
VM::raise(error.to_exception(), error.description());
|
||||||
|
return NilClass::new();
|
||||||
|
}
|
||||||
|
|
||||||
|
let hdr = match ctt.unwrap().into_toml() {
|
||||||
|
Value::String(s) => *content = s,
|
||||||
|
_ => {
|
||||||
|
let ec = Class::from_existing("RuntimeError");
|
||||||
|
VM::raise(ec, "Something weird happened. String seems to be not a String");
|
||||||
|
return NilClass::new();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
NilClass::new()
|
||||||
|
}
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
wrappable_struct!(EntryHeader, EntryHeaderWrapper, ENTRY_HEADER_WRAPPER);
|
wrappable_struct!(EntryHeader, EntryHeaderWrapper, ENTRY_HEADER_WRAPPER);
|
||||||
|
|
Loading…
Reference in a new issue