Sha256: ca730ccf85b6029f78e47692018a619aeb98f4b2733c4f285629da75d3394f13
Contents?: true
Size: 1.72 KB
Versions: 3
Compression:
Stored size: 1.72 KB
Contents
// -*- c++ -*- % require 'support' #include "rucy/module.h" #include <rucy/class.h> namespace Rucy { Module::Module (VALUE v) : Super(v) { } Module Module::define_module (const char* name) { return rb_define_module_under(value(), name); } Class Module::define_class (const char* name, Value super) { return rb_define_class_under(value(), name, super); } Module Module::define_const (const char* name, Value val) { rb_define_const(value(), name, val); return *this; } Module Module::define_attr (const char* name, bool read, bool write) { rb_define_attr(value(), name, read, write); return *this; } Module Module::define_alias (const char* new_, const char* old) { rb_define_alias(value(), new_, old); return *this; } Module Module::undef_method (const char* name) { rb_undef_method(value(), name); return *this; } Module Module::include_module (Value module) { rb_include_module(value(), module); return *this; } % [ % ['define_function', 'rb_define_module_function'], % ['define_method', 'rb_define_method'], % ['define_private_method', 'rb_define_private_method'], % ['define_singleton_method', 'rb_define_singleton_method'] % ].each do |(op, rb_op)| Module Module::<%= op %> (const char* name, RubyFunctionN fun) { <%= rb_op %>(value(), name, RUBY_METHOD_FUNC(fun), -1); return *this; } % NTIMES.each do |n| Module Module::<%= op %> (const char* name, RubyFunction<%= n %> fun) { <%= rb_op %>(value(), name, RUBY_METHOD_FUNC(fun), <%= n %>); return *this; } % end % end Module define_module (const char* name) { return rb_define_module(name); } Module rucy_module () { static Module m = define_module("Rucy"); return m; } }// Rucy
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rucy-0.1.2 | src/module.cpp.erb |
rucy-0.1.1 | src/module.cpp.erb |
rucy-0.1.0 | src/module.cpp.erb |