De estos enfoques mencionados anteriormente, ninguno parecía limpio e ideal, como esperaría que se ejecutara un script independiente (no se evalúe o se canalice a través de <redirección), pero finalmente esto funciona perfecto para mí:
(para rieles 3)
Inserte en la parte superior de su secuencia de comandos:
#!/usr/bin/env ruby
APP_PATH = File.expand_path(appdir = '/srv/staging/strat/fundmgr/config/application', __FILE__)
require File.expand_path(appdir + '/../boot', __FILE__)
require APP_PATH
# set Rails.env here if desired
Rails.application.require_environment!
# your code here...
Por supuesto, configure su propia ruta de la aplicación Rails en la línea APP_PATH.
De esa manera, puedo evitar tener que ingresar a cualquier interactivo irb
o rails c
y puedo probar mi script.rb desde el indicador de shell, antes, por ejemplo. programarlo en crontab.
También admite sin problemas los parámetros de la línea de comandos y minimiza los niveles de envoltorios antes de acceder a su código.
CRÉDITO (también muestra un ejemplo de Rails 2)
http://zerowidth.com/2011/03/18/standalone-script-runner-bin-scripts-in-rails.html