Also, load_assembly calls the library initializers if called with a second 
argument which is the namespace within the assembly to look in for the 
attributes (RubyMethod, RubyConstant, etc). See 
Merlin\Main\Languages\Ruby\Libs\thread.rb as an example for this usage of 
load_library.

-----Original Message-----
From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Shri Borde
Sent: Thursday, January 28, 2010 12:18 PM
To: ironruby-core@rubyforge.org
Subject: Re: [Ironruby-core] Looking for more information on rubifying C# 
classes

The steps sound correct. 

The attributes are pretty easy to understand if you search for existing uses. 
The harder part is how to declare the arguments with annotations for Ruby 
semantics. http://wiki.github.com/ironruby/ironruby/modifying-the-sources has 
some info. Please add to it if you can.

Could you provide info about why you need to Rubyify your C# class? IronRuby 
already exposes a Rubified view  for all .NET classes (for example, allowing 
you to use "lower_case" names for methods)? You need to rubyify your code 
mainly if you want strict Ruby semantics as is needed by the builtin library 
types.

load_assembly is just more explicit. See 
http://ironruby.net/Documentation/.NET/Assemblies. load_assembly does not load 
the assembly on every call as .NET does not support reloading an assembly 
multiple times. Perhaps it should have been called require_assembly...


-----Original Message-----
From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Adam Burmister
Sent: Thursday, January 28, 2010 11:53 AM
To: ironruby-core@rubyforge.org
Subject: [Ironruby-core] Looking for more information on rubifying C# classes

Hello IronRubyists,

I'm currently hunting around trying to find references on rubifying a C# class 
for something I'm writing.

I have a few questions:
- Can you confirm this summary of the process to be correct (am I missing any 
steps):
  The generate class intialiser exe parses the attributes out and generates the 
initializer file. Then you recompile the library with the added initializer 
class included.  
  When using load_assembly you pass in the name of the initializer class name 
as the second parameter. 
  Under the covers that initializer tells IronRuby how to create the ruby API.

- Is there any documentation for the Ruby* attributes? (RubyMethod, 
RubyConstant, etc)
I can easily guess at what these are/do, but I just wanted to know if there is 
a definitive source.

- What are the differences between require and load_assembly (besides 
load_assembly loading the file on every call)

Any answers or comments would be greatly appreciated.

Thank you,
Adam Burmister
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to