public VSMDRubyProvider(RubyFileNode file)
		{
            provider = new RubyProvider(file);
		}
        public override FileNode CreateFileNode(ProjectElement item)
        {
            RubyFileNode newNode = new RubyFileNode(this, item);

            string include = item.GetMetadata(ProjectFileConstants.Include);

            newNode.OleServiceProvider.AddService(typeof(EnvDTE.Project), new OleServiceProvider.ServiceCreatorCallback(CreateServices), false);
            newNode.OleServiceProvider.AddService(typeof(EnvDTE.ProjectItem), newNode.ServiceCreator, false);
            newNode.OleServiceProvider.AddService(typeof(VSLangProj.VSProject), new OleServiceProvider.ServiceCreatorCallback(CreateServices), false);

            if (IsCodeFile(include))
                newNode.OleServiceProvider.AddService(typeof(SVSMDCodeDomProvider), newNode.ServiceCreator, false);
                // new OleServiceProvider.ServiceCreatorCallback(CreateServices), false);

            return newNode;
        }