Executing an Ironruby file from a console app

Hi all,

I have the following ruby code which runs in a console application:

require File.dirname(FILE) + ‘/lib/horn’
require File.dirname(FILE) + ‘/lib/dsl’

The file is named hornbuild.rb.

The main ruby file has a require directive for this hornbuild.rb like
so:

require ‘hornbuild’

I then execute the ruby file like this:

var engine = Ruby.CreateEngine();
engine.ExecuteFile(buildFilePath);

The problem is that I can only get this scenario to work by copying the
hornbuild.rb file and lib folder into the bin directory of the console
application.

Can I not put these files in the gems folder or something so they are
globally accessible.

If so, how can I achieve this?

Cheers

Paul

You can set load paths.

var engine = Ruby.CreateEngine();
var context = Ruby.GetExecutionContext(engine);
context.Loader.SetPaths(“C:\ironruby\lib”);

ScriptEngine.SetSearchPaths should also work.

Tomas

From: [email protected]
[mailto:[email protected]] On Behalf Of Ivan Porto
Carrero
Sent: Saturday, March 21, 2009 3:41 PM
To: [email protected]
Subject: Re: [Ironruby-core] Executing an Ironruby file from a console
app.

You can set load paths.

var engine = Ruby.CreateEngine();
var context = Ruby.GetExecutionContext(engine);
context.Loader.SetPaths(“C:\ironruby\lib”);

On Sat, Mar 21, 2009 at 9:33 PM, Paul Cowan
<[email protected]mailto:[email protected]> wrote:
Hi all,

I have the following ruby code which runs in a console application:

require File.dirname(FILE) + ‘/lib/horn’
require File.dirname(FILE) + ‘/lib/dsl’

The file is named hornbuild.rb.

The main ruby file has a require directive for this hornbuild.rb like
so:

require ‘hornbuild’

I then execute the ruby file like this:

var engine = Ruby.CreateEngine();
engine.ExecuteFile(buildFilePath);

The problem is that I can only get this scenario to work by copying the
hornbuild.rb file and lib folder into the bin directory of the console
application.

Can I not put these files in the gems folder or something so they are
globally accessible.

If so, how can I achieve this?

Cheers

Paul

Posted via http://www.ruby-forum.com/.


Ironruby-core mailing list
[email protected]mailto:[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core