Exemple #1
0
        public static void UsingClrExtensions(RubyContext/*!*/ context, object self, RubyModule namespaceModule) {
            string ns;
            if (namespaceModule == null) {
                ns = "";
            } else if (namespaceModule.NamespaceTracker == null) {
                throw RubyExceptions.CreateNotClrNamespaceError(namespaceModule);
            } else if (context != namespaceModule.Context) {
                throw RubyExceptions.CreateTypeError("Cannot use namespace `{0}' defined in a foreign runtime #{1}",
                    namespaceModule.NamespaceTracker.Name, namespaceModule.Context.RuntimeId);
            } else {
                ns = namespaceModule.NamespaceTracker.Name;
            }

            context.ActivateExtensions(ns);
        }