23 Oct. 2010, 11:31:30 JST

ActiveScriptRuby


Download from here!

Update Information


Update History

NETRuby

NETRuby is ruby for .NET Framework.
Now, I'm working (but currently frozen) with it on sourceforge.jp.
SourceForge.jp

Ruby: A gem of a programming language

The Programming Language Ruby(#) is a powerful pure Object Oriented language first developed by Matz and rapidly grown-up in Japanese (and later International) Ruby community, and ported to many environment (many UNIX based platform, Be, Mac, Next, Win32).
It's not only a simple scripting language, but a powerful full furtured environment like Java, also it loads and parses the program at first time, and stores compiled intermediate language in it, then starts to run. The only difference is Ruby doesn't ouput its intermediate language to the storage, always uses raw programming code itself.
You can learn more deeply about Ruby at official Ruby Home Page.

ActiveScript

Active Script Technology(#) was first introduced for Internet Explorer 3.0 to support both JavaScript and VisualBASIC Scripting Edition based on COM (Component Object Model). Active Script Technology rapidly grew to be Windows standard glue environments supported by IIS(Active Server Page), Visual Studio, Windows Scripting Host, Outlook etc. And there are some third party supplied engines, for example Perl, Haskell etc.
You can learn more deeply about Active Script Technology at Microsoft's Scripting Site.

ActiveScriptRuby

ActiveScriptRuby is a bridge component to interface Ruby with Active Script Host applications and vice versa.
It stands on both COM, and Win32 porting of Ruby.

Running Environment

Required Win32 and DCOM (later, I described the reason).

Required additional libary

If you use Windows95, then you need DCOM1.1 or later (I suppose maybe necessary updates was already included in IE5 distribution, and Windows98).
You are hardly recommended to get or upgrade to Internet Explorer 5.01 (I've never checked in 3.x and 4.x), whether you like or not, whether you navigate in Internet with it or not (indeed, I never navigate in Internet with IE, sorry).
IE5.0 now suppoert <style="display:none;">, every elements, great!

Recommanded additional applications

If you use WindowsNT or Windows95, get Windows Script Host(WScript.exe and CScript.exe) from Microsoft's Scripting Site.
But, BEAWARE !, You Never DobleClick the attachments in Outlook !! Before you do so, you must check what will be happened with them !!

Installation

Go to Installation page.

Samples

Go to sample page.
How to write WSC ?.

Design Issue

Because Ruby itself is a monolithic language engine/environment, usually runs in its own process / main thread, makes variables's life-time management with stack based schemes, I decided to put Ruby itself into separate/isolate single thread apartment (STA), access it through COM proxy/stub marshalling.
At contrast, the object that export IActiveScript and IActiveScriptParse interfaces is a free-threading object, can run any thread.
Naturally, the objects that came from Scripting Host through AddNamedItem method, may or may not stand on the apartment threading model, so I force to handle them within correct thread context. To avoid complexities, I decide to use Global Interface Table introduced by NT4SP3 and DCOM9x 1.1 to store Host and AddNamed interfaces in it.
That's the reason to need DCOM1.x for 9x or NT4SP3 or later to run ActiveScriptRuby.

Distribution Condition

ActiveScriptRuby is freely redistributal product under GPL.

Disclaimer Notice

THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Resousrces

Sources

ActiveScriptRruby18(1.1.2.0) sources for Ruby1.8 (Subversion repositry)
ActiveScriptRuby(1.0.0.7) Sources for Ruby1.4
ActiveScriptRuby(1.0.9.1) Sources for Ruby1.6
require VC++6.0SP5 with Windows2000SDK (Aug.2000 Edition)
Caution In MS Japanese version of Visual Studio inserts Japanese comments and code page informations, so, I doubt to build it easily. (I deleted thescde lines, if I looked to, but not completed)

You may found Ruby's sources in Ruby Home Page (see below).

LINKS

Ruby Home Page (English)
Ruby Home Page (Japanese)
Microsoft® Windows Script Technologies Page
Mr. Suketa' Zakki-Cho
He is famous Win32OLE extended library developer in Ruby community. I thanks his works.
Mr. Nyasu's =Japanese page only=
His VisualuRuby project is very interresting for Windows people!
Mr. Tosh's (not Peter Tosh who onece was stepping razor.) RD site.
Mr. Aoki Minerou's L.R.N
He's a young master of Ruby.
IBM developerWork introduced Ruby.

THANKS

Matsumoto, Yukihiro
who creates Ruby.
Suketa, Masaki
who creates WIN32OLE.
Nakada, Nobu
who suggested me to use anonymous modules to create isolate environment.
Microsoft Windows Script team
who described the need and some detail of ActiveScriptEngine's own IServiceProvider interface implementation for IE to me.

COPYRIGHT NOTICE.

copyright © 2000-2006 arton under GPL

ActiveScriptRuby Japanese Page

TRADEMARKS.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners. The example companies, organizations, products, people and events depicted herein are fictitious. No association with any real company, organization, product, person, or event is intended or should be inferred.
Any rights not expressly granted herein are reserved