This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
README | Thu Jun 04 07:10:43 -0700 2009 | |
| |
rubyscript2exe.rb | Thu Jun 04 07:10:43 -0700 2009 |
README
Original Code: http://www.erikveen.dds.nl/rubyscript2exe Introduction === Ruby is an interpreted language, which requires (suprise) an interpreter to execute scripts. Erik Veenstra <rubyscript2exe@erikveen.dds.nl> created this tool to bundle ruby, dependencies and your script into a platform specific executable. Since his last update, changes within Ruby have broken rubyscript2exe (certainly 1.8.6 patchlevel 287, 1.8.7 patchlevel 72). The problem lies in the way rubyscript2exe modifies the $0 commandline parameter; now a frozen string. See http://rha7dotcom.blogspot.com/2008/09/rubyscript2exerb-and-623-cant-modify.html for an explaination of the fix. The fix is broke === However, I've seen this doesn't work for everyone. Here's why: $0 contains the name of the executed script. For example 'cool_ruby_tool.rb'. It has n bytes allocated to it, where n == 'cool_ruby_tool.rb'.size + x. I'm not sure what x contains or is for, but in my case, x == 23. When rubyscript2exe.rb calls $0.replace(), the allocation is increased as neccessary. However, the fix does not increase the allocated bytes, so the new path specified may be truncated. Another way === So the complete fix is to assign the new value to a string, then alias that string to $0: $_0 = File.expand_path("./init.rb") alias $__0 $0 alias $0 $_0 Credits === All props go to Erik Veenstra for creating this excellent tool; many forum and ruby-talk users for posting / reposting the first fix. If this doesn't work for you, that's my fault, and we'll have to think again... James Cowlishaw.







