我的命名爲「獵鷹」的寶石從命令行運行。使用ARGV
和OptionParser
,我讀取命令行輸入並在我的應用程序中運行主要的Ruby類,沒有問題。命令行紅寶石配置塊
只要從Rails控制檯調用它,就可以在初始化文件中獲取配置塊。繼this basic pattern,我將它使用戶可以創建類似下面的初始化文件:
# config/initializers/falcon.rb
Falcon.configure do |c|
c.allowed_setting = 'value'
end
,然後在Rails的控制檯,我可以這樣做:
Falcon.configuration.allowed_setting # => 'value'
然而,當我從命令行運行時,gem類不使用它們的設置配置選項,而是如同沒有設置配置一樣。我想這是因爲從命令行執行不會通過Rails環境及其預加載的初始化文件。
我試過運行bundle exec falcon [command]
,但是這並沒有解決任何問題。有關如何解決這個問題的任何想法,以便命令行通過Rails配置運行gem?
爲什麼不需要初始化文件呢?你的寶石真的需要加載整個鐵軌環境嗎?另外你可能想看看[Slop](https://github.com/leejarvis/slop),這使得處理命令行參數更加愉快。 – max