Adam Burmister
2010-Jan-28 19:53 UTC
[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
Shri Borde
2010-Jan-28 20:17 UTC
[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-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Adam Burmister Sent: Thursday, January 28, 2010 11:53 AM To: ironruby-core at 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 at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core
Shri Borde
2010-Jan-28 20:48 UTC
[Ironruby-core] Looking for more information on rubifying C# classes
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-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Shri Borde Sent: Thursday, January 28, 2010 12:18 PM To: ironruby-core at 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-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Adam Burmister Sent: Thursday, January 28, 2010 11:53 AM To: ironruby-core at 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 at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core
Shri Borde
2010-Feb-01 20:39 UTC
[Ironruby-core] Looking for more information on rubifying C# classes
Tomas has updated http://ironruby.net/Documentation/.NET/Assemblies. Thanks for the good info, Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Shri Borde Sent: Thursday, January 28, 2010 12:48 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Looking for more information on rubifying C# classes 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-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Shri Borde Sent: Thursday, January 28, 2010 12:18 PM To: ironruby-core at 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-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Adam Burmister Sent: Thursday, January 28, 2010 11:53 AM To: ironruby-core at 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 at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core