Sha256: aa0c596ee55978e2b10235649519f1fc36a474147dc2073e2843e5a557a89add

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

// -*- c++ -*-
% require 'support'
#pragma once
#ifndef __RUCY_MODULE_H__
#define __RUCY_MODULE_H__


#include <ruby.h>
#include <rucy/defs.h>
#include <rucy/value.h>


namespace Rucy
{


	class Class;


	class Module : public Value
	{

		typedef Value Super;

		public:

			Module (VALUE v = Qnil);

			Module define_module (const char* name);

			Class define_class (const char* name, Value super = rb_cObject);

			Module define_const (const char* name, Value val);

			Module define_attr (const char* name, bool read = true, bool write = true);

			Module define_alias (const char* new_, const char* old);

			Module undef_method (const char* name);

			Module include_module (Value module);

%			[
%				'define_function',
%				'define_method',
%				'define_private_method',
%				'define_singleton_method',
%			].each do |op|
			Module <%= op %> (const char* name, RubyFunctionN fun);
%				NTIMES.each do |n|
			Module <%= op %> (const char* name, RubyFunction<%= n %> fun);
%				end
%			end

	};// Module


	Module define_module (const char* name);


	Module rucy_module ();
	// module Rucy


}// Rucy


#endif//EOH

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rucy-0.1.2 include/rucy/module.h.erb
rucy-0.1.1 include/rucy/module.h.erb
rucy-0.1.0 include/rucy/module.h.erb