diff options
Diffstat (limited to 'spec/ruby/optional/capi/ext/file_spec.c')
| -rw-r--r-- | spec/ruby/optional/capi/ext/file_spec.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/ext/file_spec.c b/spec/ruby/optional/capi/ext/file_spec.c new file mode 100644 index 0000000000..cd4a653765 --- /dev/null +++ b/spec/ruby/optional/capi/ext/file_spec.c @@ -0,0 +1,29 @@ +#include "ruby.h" +#include "rubyspec.h" + +#ifdef __cplusplus +extern "C" { +#endif + +VALUE file_spec_rb_file_open(VALUE self, VALUE name, VALUE mode) { + return rb_file_open(RSTRING_PTR(name), RSTRING_PTR(mode)); +} + +VALUE file_spec_rb_file_open_str(VALUE self, VALUE name, VALUE mode) { + return rb_file_open_str(name, RSTRING_PTR(mode)); +} + +VALUE file_spec_FilePathValue(VALUE self, VALUE obj) { + return FilePathValue(obj); +} + +void Init_file_spec(void) { + VALUE cls = rb_define_class("CApiFileSpecs", rb_cObject); + rb_define_method(cls, "rb_file_open", file_spec_rb_file_open, 2); + rb_define_method(cls, "rb_file_open_str", file_spec_rb_file_open_str, 2); + rb_define_method(cls, "FilePathValue", file_spec_FilePathValue, 1); +} + +#ifdef __cplusplus +} +#endif |
