shared scripts and ruby gems

  • Thread starter Michael Schidlowsky
  • Start date
M

Michael Schidlowsky

Hello everyone,

If I'm writing a ruby script that uses a certain library (e.g.
Chronic) and I want to share that script with other users by making it
publicly executable on a linux filesystem, do I need to do anything in
the script to make sure that the gem is installed or will other users
just end up using my copy of the gem automatically (in which case it's
enough for me to just run "gem install chronic")?

Thanks!
-Michael
 
M

Michael Linfield

Michael said:
Hello everyone,

If I'm writing a ruby script that uses a certain library (e.g.
Chronic) and I want to share that script with other users by making it
publicly executable on a linux filesystem, do I need to do anything in
the script to make sure that the gem is installed or will other users
just end up using my copy of the gem automatically (in which case it's
enough for me to just run "gem install chronic")?

Thanks!
-Michael

so long as you include the library / gem in ur script then so long as
they have that library / gem installed, they shouldnt have a problem, if
they dont have it installed then the program simply wont run....if the
user of the script has any idea of how the script works they should be
able to easily look at the top few lines to ensure they have the proper
libraries and/or gems installed.

require 'gem_name_or_library'
###
if they dont have it installed, they will get a LoadError..

on the flipside if u wanted to "check" if they have it installed just
use a
raise LoadError approach
 
M

Michael Schidlowsky

Michael,

Thanks for the response. Do you know if there's any way I can package
up the gem with my script somehow (like include it in a subdirectory
of the script location and load it from there) so that I can guarantee
the library is there even if the user does not have it installed?

Thanks,
Michael
 
S

Suraj Kurapati

Michael said:
Do you know if there's any way I can package
up the gem with my script somehow (like include it in a subdirectory
of the script location and load it from there) so that I can guarantee
the library is there even if the user does not have it installed?

Add the path of the embedded gem's lib/ directory to the $: array (if
you're in Ruby) or the RUBYLIB environment variable (if you're in a
shell script).
 

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

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,227
Latest member
Daniella65

Latest Threads

Top