5

Thor を使用して、作成中の Ruby gem の CLI を作成しています。myapp path/to/file実行可能ファイルは、ユーザーがタスクを定義する必要がなく、引数のみを定義する必要があるという意味で、理想的には のようなコマンドを取ります。

API を調べましたが、default_taskはタスク/引数が存在しない場合にのみ機能します。

この可変ファイル引数をデフォルトのメソッド/タスクに送信し、存在しないタスクのように解釈しないようにするにはどうすればよいですか?

4

1 に答える 1

1

myapp パス/to/ファイル

2つの部分の答え:

1) myapp...「thor」以外の実行可能ファイルを使用するには、「thor/runner」ライブラリを利用する必要があります。

2)path/to/file次のように、initialize メソッドで実現できます。

class Something < Thor
  def initialize(*args)
    super
    case @path
      when /something$/; self.class.new([@path],options).do_run
    end
  end

  desc 'do_run', "do something"
  argument :path, :banner=>"path/to/file", :optional=>true
  def do_run
    # something
  end
end
于 2011-01-19T01:28:38.897 に答える