2016-04-09 11 views
1

Rails uygulamasıyla giden bir thor tabanlı CLI var ve bir CLI uygulamak için thor kullanma örneklerinin arasında herhangi bir yer bulamadım. bundler bağlamında yürütecek basit bir binstub örnekleri.Rails uygulamasına ilişkin thor tabanlı yardımcı program CLI'sini eklemek için en iyi yol

böyle komut satırından my_cli arama yapabilmek istiyorum: Ben İSTEMİYORSANIZ

$ my_cli do something 

için:

$ BUNDLE_GEMFILE=/path/to/Gemfile/of/Rails/app bundle exec my_cli 

Ve İSTEMİYORSANIZ için:

$ thor do something 

Aşağıdaki binstub çalışır. ../config/boot'a ihtiyacım var. my_cli.rb'da 'thor/rails' gerekli olduğunda yeterli değil.

Bunu sormak için daha iyi bir yol var mı?

#!/usr/bin/env ruby 
APP_PATH = File.expand_path('../../config/application', __FILE__) 
require_relative '../config/boot' 
require_relative '../lib/my_cli' 
MyCli.start(ARGV) 

cevap

0

Bu çok iyi çalışıyor görünüyor:

#!/usr/bin/env ruby 

ENV['BUNDLE_GEMFILE'] = '/opt/myRailsApp/Gemfile' 
ENV['RAKEOPT'] = "--silent" 
ENV['RAILS_ENV'] ||= 'production' 

APP_PATH = '/opt/myRailsApp/config/application' 

require 'rubygems' 
require 'bundler/setup' 
require '/opt/myRailsApp/config/environment.rb' 
require '/opt/myRailsApp/lib/my_cli' 

MyCli.start(ARGV) 
İlgili konular