Sha256: e89947278e155e08c8669c356ece179e3d16c2708c07ac66bdcf2d262677d465

Contents?: true

Size: 1.32 KB

Versions: 30

Compression:

Stored size: 1.32 KB

Contents

// -*- c++ -*-
#pragma once
#ifndef __RUCY_MODULE_H__
#define __RUCY_MODULE_H__


#include <rucy/value.h>
#include <rucy/function.h>


namespace Rucy
{


	class Class;


	class Module : public Value
	{

		typedef Value Super;

		public:

			Module (RubyValue v = nil());

			Module define_module (const char* name);

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

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

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

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

			void undef_method (const char* name);

			void include_module (Value module);

			void extend_module (Value module);

%			[
%				'define_module_function',
%				'define_method',
%				'define_private_method',
%				'define_singleton_method',
%			].each do |op|
			void <%= op %> (const char* name, RubyFunctionN fun);

%				NTIMES.each do |n|
			void <%= op %> (const char* name, RubyFunction<%= n %> fun);

%				end
%			end
	};// Module


	Module define_module (const char* name);

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

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

	void define_function (const char* name, RubyFunctionN fun);
%	NTIMES.each do |n|

	void define_function (const char* name, RubyFunction<%= n %> fun);
%	end


}// Rucy


#endif//EOH

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
rucy-0.3 include/rucy/module.h.erb
rucy-0.2.1 include/rucy/module.h.erb
rucy-0.2 include/rucy/module.h.erb
rucy-0.1.44 include/rucy/module.h.erb
rucy-0.1.43 include/rucy/module.h.erb
rucy-0.1.42 include/rucy/module.h.erb
rucy-0.1.41 include/rucy/module.h.erb
rucy-0.1.40 include/rucy/module.h.erb
rucy-0.1.39 include/rucy/module.h.erb
rucy-0.1.38 include/rucy/module.h.erb
rucy-0.1.37 include/rucy/module.h.erb
rucy-0.1.36 include/rucy/module.h.erb
rucy-0.1.35 include/rucy/module.h.erb
rucy-0.1.34 include/rucy/module.h.erb
rucy-0.1.33 include/rucy/module.h.erb
rucy-0.1.32 include/rucy/module.h.erb
rucy-0.1.31 include/rucy/module.h.erb
rucy-0.1.30 include/rucy/module.h.erb
rucy-0.1.29 include/rucy/module.h.erb
rucy-0.1.28 include/rucy/module.h.erb