RUBYLIB and shared libraries

A

Alpha Blue

Hi everyone,

I'm setting up my RUBYLIB variables for use with custom libraries I've
created. I have the following working properly:

C:/lib/wxruby/lib [this points to the custom library path I have set]

Everything is verified with ruby -e "puts $:" ..

The first module I created is a module called public_instance_methods.rb

Location: C:/lib/wxruby/lib/public_instance_methods.rb

module PublicInstanceMethods

# This method sets the default icon for the given window or frame
def set_icon_file(file)
icon_file = File.join(File.dirname(__FILE__),"..","icons",file)
set_icon Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_ICO)
end

end

My default working project directory is:

E:\project\lib\
"" \core
"" \icons
"" \images

In E:\project\lib\core\main.rb I have..

require 'public_instance_methods'
include PublicInstanceMethods

class GuiMain < XrcFrameMain
def initialize
super()

set_icon_file("test.ico")

end
end

Which results into an error saying:

Icon file does not exist:
C:/lib/wxruby/lib/../icons/kirin.ico (ArgumentError)

.. which means that it's looking in the lib directory of the included
module and not the working directory of the application. How should I
set this method up so that it includes the right path to the ico file?
 
A

Alpha Blue

Jason said:
You can use RAILS_ROOT but I'm sure there is a better way.

wha??

This isn't a rails discussion topic and has nothing to do with rails.
Someone else?
 
A

Alpha Blue

Jason said:
Sorry, man.

If you want to define the root of your application you could always set
a
global variable in your main.rb or set a global variable.

Thanks Jason. That's what I needed:

main.rb

$file_path = __FILE__

set_icon_file($file_path,"..","icons","test.ico")

.. then in my custom lib directory for PublicInstanceMethods I have:

# This method sets the default icon for the given window or frame
def set_icon_file(path, *file)
icon_file = File.join(File.dirname(path), file)
set_icon Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_ICO)
end

.. and now everything works fine. If there is a better way of doing
this with regard to use of custom lib files, please let me know.

Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,817
Latest member
DicWeils

Latest Threads

Top