2016-04-09 12 views
1

私はRailsアプリケーションと連携するthorベースのCLIを持っていますが、CLIを実装するためにthorを使用している例の中で、 bundlerのコンテキストで実行される単純なbinstubの例。RailsアプリケーションにbinベースのユーティリティCLIを追加する最も良い方法

私はこのようなコマンドラインからmy_cliを呼び出すことができるようにしたい:

$ my_cli do something 

私はしたくない:

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

そして、私はしたくない:

$ thor do something 

以下のbinstubが動作します。私は../config/bootが必要です。 my_cli.rb'thor/rails'が必要です。

私は、これを行うよりよい方法はありますか?

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

答えて

0

これは正常に動作するようです:

#!/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) 
関連する問題