De estos enfoques mencionados anteriormente, ninguno parecía limpio e ideal como es de esperar un proceso independiente para funcionar (no conseguir eva- ed o canalizado a través de < redirección), pero finalmente esto funciona perfecto para mí:
(por carriles 3)
Insertar en la parte superior de la 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, establezca su propia ruta de la aplicación Rails en la línea APP_PATH.
De esa manera, puedo evitar tener que introducir ningún irb
interactivo o rails c
y puedo probar mi script.rb desde el intérprete de comandos, por ejemplo antes. programando en crontab.
Soporta sin problemas parámetros de línea de comandos, también, y minimiza los niveles de envoltorios antes de llegar a su código.
CRÉDITO (también muestra un ejemplo Rails 2)
http://zerowidth.com/2011/03/18/standalone-script-runner-bin-scripts-in-rails.html
duplicado posible de [¿Cómo se ejecuta un archivo de Ruby en un entorno de Rails?] (Http: //stackoverflow.com/questions/9757261/how-do-i-run-a-ruby-file-in-a-rails-environment) –