thor

    0熱度

    1回答

    我有幾個托爾的任務取決於對方。我想訪問當前正在運行的那個名稱,以便我可以在記錄器消息中使用它。 我可以使用self對象查找任務名稱,但是這是一個Thor::Sandbox::MyClass對象,並且該信息位置很深。有人知道吸氣劑嗎?喜歡的東西: class MyCLI < Thor def hello puts "hello, I am the task #{self.task

    2熱度

    1回答

    我正在研究應該用作CLI實用程序的Ruby寶石。 我已經決定使用Thor,即使用的rails命令,似乎是非常靈活(與rake的差異:link)。 問題是我找不到如何處理輸入錯誤。 例如,如果我在一個錯誤的選項類型,雷神自動返回一個很好的警告: $ myawesomescript blabla Could not find command "blabla". 但是,如果我用的是解決不了的命令時

    0熱度

    1回答

    我知道如何創建一個軌道發電機的寶石被稱爲像: rails g my_generator command 而且我知道如何創建一個托爾寶石,可以這樣調用: my_generator command 但我不知道如何創建可以使用可執行文件調用的軌道生成器。我已經通過創建像一個lib/my_generator/cli.rb文件的嘗試: require 'thor' module Mang

    1熱度

    1回答

    在試圖開發一個簡單的寶石學的過程中,我正好絆倒在這個問題上:雷神 DSL使用語法發生在選項到命令:option :some_option, :type => :boolean ,就在方法定義之前。 我想從文件中加載一組動態選項。我在構造函數中執行了這個文件讀取操作,但是看起來option關鍵字Thor類在initialize方法之前正在處理。 任何想法來解決這個問題?如果有人能解釋option關鍵

    3熱度

    1回答

    我使用Thor內置動作「copy_file」從我的模板源複製文件,覆蓋現有文件。 我總是想覆蓋,而不想交互確認。 該文檔不建議配置哈希中存在對此操作的強制選項,但http://textmate.rubyforge.org/thor/Thor/Actions.html確實表明可以將config [:behavior]設置爲強制,但我看不到如何執行此操作。 如果有人有這樣做的例子,他們可以分享,我會很

    1熱度

    2回答

    對Ruby和OO來說很新穎。學習課本,以及谷歌在雷神發現的所有文章。 我有Thor工作捕獲多個命令行參數和選項。我想從Cli < Thor類之外完成其餘的編程,並且無法從Cli類外部訪問命令行參數。 問題: Q1。 Cli < Thor類可以像任何其他ruby類一樣處理,還是繼承自Thor或「Cli.start」命令,可以削弱Cli類的某些功能而不使用Thor?詢問是因爲我可能根本不知道如何從不使

    0熱度

    1回答

    我剛剛做了一個新鮮的rvm內爆,並認爲我可能通過從JewelryBox安裝一個乾淨的石板安裝所有東西。 我也更新xcode到最新版本(4.6.2)。 這裏的問題是: ➜ ~ rvm -v rvm 1.19.6 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rv

    8熱度

    3回答

    我是Thor(和Ruby)的新手,我正在考慮在構建腳本中使用它,因爲它表示它可以替代Rake(因此可以替換爲Rake )。但是經過短暫的試用後,我對它返回的錯誤狀態感到困惑。我很快瀏覽了wiki,但沒有看到任何提及。 只需第一 「簡單實施例」,test.thor: class Test < Thor desc "example", "an example task" def e

    4熱度

    1回答

    我正在嘗試使用Thor創建可執行的ruby腳本。 我已經爲我的任務定義了選項。到目前爲止,我有這樣的事情 class Command < Thor desc "csv2strings CSV_FILENAME", "convert CSV file to '.strings' file" method_option :langs, :type => :hash, :requi

    0熱度

    1回答

    給定使用Thor的Ruby程序時,如何實現一個在調用看起來像標誌的參數時被調用的方法。 例如,如果我在命令行中運行以下命令: mycmd --version 我想執行的代碼: desc 'version', 'Print version number' def version puts "mycmd version #{Mycmd::VERSION}" end