public
Description: StrokeDB is an embeddable distributed document database written in Ruby
Homepage: http://strokedb.com/
Clone URL: git://github.com/yrashk/strokedb.git
rbmodexcl has been updated
yrashk (author)
Tue May 20 03:45:03 -0700 2008
commit  62ffa1784a4f20c2d8c3e31933047410c69fc3b6
tree    0bd9918cd0565eb5645adc5c2137127d019b35c4
parent  e3704e7c4d07f9f07df8b984d5c20fc44999dad8
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
 
 
 
 
83
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
0
@@ -1,82 +1,5 @@
0
-require 'rubygems'
0
-require 'inline'
0
-
0
-class Object
0
- inline(:C) do |builder|
0
- builder.prefix %{
0
- static VALUE
0
- rb_obj_dummy()
0
- {
0
- return Qnil;
0
- }
0
- }
0
- builder.add_to_init %{
0
- rb_define_private_method(rb_cModule, "unextended", rb_obj_dummy, 1);
0
- }
0
- builder.c %{
0
- VALUE unextend(VALUE mod)
0
- {
0
- VALUE p, prev;
0
- Check_Type(mod, T_MODULE);
0
- if (mod == rb_mKernel)
0
- rb_raise(rb_eArgError, "unextending Kernel is prohibited");
0
-
0
-
0
- p = rb_singleton_class(self);
0
-
0
- while (p) {
0
- if (p == mod || RCLASS(p)->m_tbl == RCLASS(mod)->m_tbl) {
0
- RCLASS(prev)->super = RCLASS(p)->super;
0
- rb_clear_cache();
0
- rb_funcall(mod, rb_intern("unextended"), 1, self);
0
- return self;
0
- }
0
- prev = p;
0
- p = RCLASS(p)->super;
0
- }
0
- return self;
0
- }
0
- }
0
- end
0
-
0
-end
0
-
0
-class Class
0
-
0
- inline(:C) do |builder|
0
- builder.prefix %{
0
- static VALUE
0
- rb_obj_dummy()
0
- {
0
- return Qnil;
0
- }
0
- }
0
- builder.add_to_init %{
0
- rb_define_private_method(rb_cModule, "unincluded", rb_obj_dummy, 1);
0
- }
0
- builder.c %{
0
- VALUE uninclude(VALUE mod)
0
- {
0
- VALUE p, prev;
0
- Check_Type(mod, T_MODULE);
0
- if (mod == rb_mKernel)
0
- rb_raise(rb_eArgError, "unincluding Kernel is prohibited");
0
-
0
- p = self;
0
-
0
- while (p) {
0
- if (p == mod || RCLASS(p)->m_tbl == RCLASS(mod)->m_tbl) {
0
- RCLASS(prev)->super = RCLASS(p)->super;
0
- rb_clear_cache();
0
- rb_funcall(mod, rb_intern("unincluded"), 1, self);
0
- return self;
0
- }
0
- prev = p;
0
- p = RCLASS(p)->super;
0
- }
0
- return self;
0
- }
0
- }
0
- end
0
-
0
-end
0
+if defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx"
0
+ require File.join(File.dirname(__FILE__),'rbxmodexcl')
0
+else
0
+ require File.join(File.dirname(__FILE__),'mrimodexcl')
0
+end
0
\ No newline at end of file

Comments

    No one has commented yet.