Normally if you use gems you can wrap the requires in a begin..rescue block and catch the LoadError. At least that's how I figured I would do it. http://github.com/casualjim/ironnails/tree/master/IronNails/vendor/iron_nails/init.rb
I should actually remove those lines now because the libraries are now included in the ironruby distribution. I use a vendor dir where I'll later first check for any existing folders if they don't I'll try to do the requires of the necessary gems. For plugins a similar idea is used. I'm looking in the subfolders of vendor or plugins for a file called init.rb and require those. What is also done is putting the list of required gems in a readme document. The IronRuby team uses a rake task called happy to see if your environment is setup properly for the build, I imagine you can do the same. Certain gems include their dependencies but I personally don't really like that approach because often I'll have the gems already installed although it makes your gem portable without problems for dependencies. --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero GSM: +32.486.787.582 Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim On Wed, Aug 27, 2008 at 5:45 PM, Glen Cooper <[EMAIL PROTECTED]> wrote: > Well rspec for one - but I understand it isn't quite ready for IR yet - or > vice versa. One of the main reason I'm asking is that I'm starting a > project which will be a library, not a stand-alone application. So I'm > wondering about things like dependencies and how someone would actually use > the library. In other words, if my library depends on another, how does the > user using my library actually get all the dependencies. > I know we're on the bleeding edge here and there a lot of things that > either don't work yet or aren't as elegant as they will be in the future. I > am just trying to avoid going down one path if there is a better way I'm not > aware of. > > Thanks for the help! > > Glen Cooper > (425) 802-6627 > www.glenc.net > > On Aug 27, 2008, at 8:11 AM, Ivan Porto Carrero wrote: > > The thing with gems is that it's going to be quite tricky.. some of the > very useful ones (hpricot for example) depend on C-extensions and then they > need to be ported first to .NET. > > At this moment i would try to include them in a lib folder or something and > then require them when I load my script. (read what merb does ;)) because > manually installing doesn't work yet either at least not when I tried that > this morning. At this moment i wouldn't use IronRuby for anything that has > to go into production, that being said there most of the time there are > alternatives in the .NET world and you can just leverage those. > > Out of curiosity which libraries did you want to use? > > Cheers > Ivan > > > > On Wed, Aug 27, 2008 at 4:55 PM, Glen Cooper <[EMAIL PROTECTED]> wrote: > >> Thanks for the response. So let me ask you this. If you were to start >> building a project and wanted to leverage existing libraries out there, >> would you manually install them to your iron ruby install directory? Or >> just add them into a gems folder in your project - like what merb does with >> frozen gems? >> >> Regards, >> Glen Cooper >> (425) 802-6627 >> www.glenc.net >> >> On Aug 27, 2008, at 12:42 AM, Ivan Porto Carrero wrote: >> >> As far as I know you can't use gems yet in IronRuby and that's also why >> there is no example with unit tests etc. It can't be done atm. >> IronRuby has a minispec framework built in but that isn't as fully >> featured as rspec for example. >> Basically building stuff with IronRuby is the same as with Ruby only now >> you can use everything from .NET too. >> >> ยป ir -D >> IronRuby 1.0.0.0 on .NET 2.0.50727.3053 >> Copyright (c) Microsoft Corporation. All rights reserved. >> >> Note that local variables do not work today in the console. >> As a workaround, use globals instead (eg $x = 42 instead of x = 42). >> >> >>> require 'rubygems' >> => true >> >>> require 'pathname2' >> C:\tools\IronRuby\build\debug\..\..\lib\ruby\site_ruby\1.8\rubygems/custom_require.rb:31:in >> `require': no such file >> oad -- pathname2 (LoadError) >> from >> c:\tools\IronRuby\src\microsoft.scripting.core\actions\matchcaller.generated.cs:35:in >> `Call3' >> from >> c:\tools\IronRuby\src\microsoft.scripting.core\actions\callsite.cs:275:in >> `UpdateAndExecute' >> from >> c:\tools\IronRuby\src\microsoft.scripting.core\actions\updatedelegates.generated.cs:45:in >> `Update3' >> from :0 >> from >> c:\tools\IronRuby\src\microsoft.scripting.core\actions\matchcaller.generated.cs:35:in >> `Call3' >> from >> c:\tools\IronRuby\src\microsoft.scripting.core\actions\callsite.cs:275:in >> `UpdateAndExecute' >> from >> c:\tools\IronRuby\src\microsoft.scripting.core\actions\updatedelegates.generated.cs:45:in >> `Update3' >> from :0 >> >> >>> >> >> If you're looking for the "Ruby way" of doing things then there are plenty >> of libraries and ruby projects that you can study, for me personally there >> is not much difference between programming against either. If you already >> know .NET it's just a matter of getting the hang of Ruby like where and when >> to use metaprogramming, embracing hashes etc. For example: >> >> class Member >> >> attr_accessor :name, :age, :marital_status, :children >> >> def initialize(options) >> options.each do |key, value| >> instance_variable_set "@#{key}", value >> end >> end >> >> end >> >> member = Member.new :name => "Joe Schmoe", :age => 27, :marital_status => >> :married, :children => 2.1 >> puts member.name >> >> Or you can take existing .NET classes and extend them >> >> module StringExtensions >> >> def to_uri >> System::Uri.new self >> end >> >> end >> >> require 'mscorlib' >> >> class System::String >> include StringExtensions >> end >> >> or >> >> System::String.include StringExtensions >> >> >> Check out ironruby-contrib on github that should hold at least 2 projects >> that go further than 'hello world'. >> http://github.com/ironruby/ironruby-contrib/ >> >> >> Cheers >> Ivan >> >> >> >> On Wed, Aug 27, 2008 at 3:44 AM, Glen Cooper <[EMAIL PROTECTED]> wrote: >> >>> I'm wondering if anyone can point me to some good example projects using >>> IronRuby. Specifically I'm looking for libraries and projects using some of >>> the things we take for granted with regular ruby development - rake, gems, >>> rspec, etc. I'm starting a project of my own and since there isn't a lot of >>> documentation out there yet I figure looking at other projects is the best >>> way to see how it's done. >>> >>> I'm not looking for projects that just use small pieces of IronRuby - I >>> really want to see how someone would build a library or end-to-end solution >>> leveraging gems, rake tasks, and unit testing in IronRuby. >>> >>> Thanks! >>> >>> Glen Cooper >>> (425) 802-6627 >>> www.glenc.net >>> >>> _______________________________________________ >>> Ironruby-core mailing list >>> [email protected] >>> http://rubyforge.org/mailman/listinfo/ironruby-core >>> >> >> _______________________________________________ >> Ironruby-core mailing list >> [email protected] >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> >> >> _______________________________________________ >> Ironruby-core mailing list >> [email protected] >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> > _______________________________________________ > Ironruby-core mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > _______________________________________________ > Ironruby-core mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
