0.12
No commit activity in last 3 years
No release in over 3 years
Create gem wrappers for easy use of gems in cron and other system locations.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

Gem wrappers

Gem Version Code Climate Coverage Status Build Status Dependency Status Documentation

Create gem wrappers for easy use of gems in cron and other system locations.

Installation

This gem should be available in RVM 1.25+, to install manually:

gem install gem-wrappers

Configuration / Defaults

In ~/.gemrc you can overwrite this defaults:

wrappers_path: GEM_HOME/wrappers
wrappers_environment_file: GEM_HOME/environment
wrappers_path_take: 1

It is not yet possible to put variables in the configuration, only relative and full paths will work, open a ticket if you need variables.

Generating wrappers

By default wrappers are installed when a gem is installed, to rerun the process for all gems in GEM_HOME use:

gem wrappers regenerate

wrappers will be generated in $GEM_HOME/wrappers/.

Example

Install popular http server unicorn:

gem install gem-wrappers # assuming it was not installed already
gem install unicorn

The unicorn wrapper is located in $GEM_HOME/wrappers:

gem wrappers show unicorn
/home/mpapis/.rvm/gems/ruby-2.1.0-preview2/wrappers/unicorn

This script will make sure proper environment is available.

Generating scripts wrappers

It is possible to generate wrappers for custom scripts:

gem wrappers /path/to/script

a wrapper $GEM_HOME/wrappers/script will be generated.

Showing current configuration

To see paths that are used by gem run:

gem wrappers

Environment file

User can provide his own environment file, in case it is not available during generating wrappers it will be created using this template:

export PATH="<%= path.join(":") %>:$PATH"
export GEM_PATH="<%= gem_path.join(":") %>"
export GEM_HOME="<%= gem_home %>"

The path elements are calculated using this algorithm:

ENV['PATH'].split(":").take(Gem.path.size + path_take)