問題タブ [thor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4700 参照

ruby-on-rails - トールとの対話型プロンプト

ユーザーに flickr_id、flickr_apikey などを言ってもらいたいのですが、すべての引数のために長くて重い行にならないように、私のインストール コマンドの下でそれを行うのが最も幸せです。

のようなもの

等々?あなたはアイデアを得ることができますか?

0 投票する
1 に答える
1124 参照

ruby-on-rails - ThorスクリプトrubyのRakeタスク

インストーラーを作成中です。それで、どういうわけかデータベースを移行したいと思います。私はThorを使用してRails3でインストーラーを作成しています。

したがって、(コマンドラインで)のようなもの

ありがとうございました。

0 投票する
1 に答える
2379 参照

ruby - Thor を使用して、CLI に引数のみ (タスクではなく) を渡し、それをデフォルトのメソッド/タスクに送信できますか?

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

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

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

0 投票する
1 に答える
1332 参照

ruby - Thor(ruby)でデーモンを作成するにはどうすればよいですか?

人気のあるThorgemを使用して、デーモン化されたタスクを作成したいと思います。私のThorクラスは次のようになります。

そこで、ここでは、開始と停止の2つのタスクを持つ基本的なトールクラスを設定しました。私も現在Daemonsgemを使用していますが、これは必須ではありません。私が苦労しているのは、このアプリが「run_thor_app.rb start」として実行されると、すべてが正常に実行されることです。明らかに、この場合、停止タスクは必要ありません。しかし、「run_thor_app.rb start -d」を実行すると、Daemons.daemonizeが実行されるまでアプリが実行され、その後終了します。実行中のプロセスを確認すると、バックグラウンドで何も実行されていないことがわかります。

何かが実行されていても、停止タスクにアプローチする方法がわかりません。たとえば、アプリがデーモンとして実行されていることをどのように検出して停止しますか。Daemons :: Monitorを見てきましたが、それがどのように機能するかについてのドキュメントが明確ではなく、試してみたところ、機能しませんでした。

これはThorに組み込まれているものの良いユースケースのように思えますが、githubでコードを検索しても、何もわかりません。多分私はどこかでそれを逃した。いずれにせよ、他の人が参照できるように、Thorでデーモンを処理するためのベストプラクティスまたはパターンを文書化するとよいと思います。

0 投票する
1 に答える
2962 参照

ruby-on-rails - Rails 本番環境で Thor を実行する

Rails 3 で本番環境でトールタスクを実行したいのですが、設定方法がわかりません。次のコードは機能しませんでした

0 投票する
2 に答える
2900 参照

ruby-on-rails - Thorスクリプト内からGitまたは他のコマンドラインツールを呼び出すことは可能ですか?

Rails 3アプリのgitcommitを実行する前後に、一連のルーチンの「クリーンアップ」タスクを実行していることがよくあります。

これらをThorスクリプトに入れることを考えていましたが、Thor(またはRake)を使用してシステム上の他のツールを呼び出す方法がわかりませんでした。

ThorまたはRakeスクリプトからのようなコマンドを呼び出すことは可能git logですか?もしそうなら、それはどのように見えますか?

ありがとう!

0 投票する
2 に答える
1341 参照

ruby - Thor の VIM での Ruby のような構文の強調表示

ルビーの場合と同じように、 Thorで同じ構文強調表示を使用するように vim を構成するにはどうすればよいですか? *.thor ファイルを編集しているときは、 を使用できますが:set syntax=ruby、これは機能しますが、永続的ではありません。*.thor の場合、.vimrc ファイルで条件付きで構文を ruby​​ に設定する方法はありますか? トール構文ファイルを作成して、Ruby から継承してみてはいかがでしょうか。

0 投票する
1 に答える
224 参照

ruby-on-rails - この Rails テンプレートの何が問題になっていますか?

初めての Rails アプリケーション テンプレートを作成しようとしていますが、copy_fileメソッドでわずかな問題が発生しています。

最初にいくつかの背景.... どうやら Ruby OpenSSL パッケージには CA ストアが同梱されていないため、HTTPS サービスに接続しようとするとすぐに失敗します。これを回避する方法 (Rails 3 アプリの場合) は、ファイルOpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONEの先頭に行を追加することです。config/environment.rbjQuery をインストールできるように、テンプレートでその場でこれを行う必要があります。

だから私はそれをすべて理解しました、私の一般的な考えは次のとおりです:

  1. ファイルのバックアップを作成しconfig/environment.rbます。
  2. 元のデータの先頭に追加
  3. jquery:install --uiタスクを実行する
  4. 元のファイルを復元しconfig/environment.rbます。

私のテンプレート Gistを参照してください。行 25..34 が関連するセクションです。

そのため、ステップ #4 まではすべて機能し、ステップError: Could not find "env.orig" in any of your source paths#31 で失敗します。
28行目は機能し、ディスク上のファイルを見ることができるので、これは私にとって非常に困惑していenv.origます。なぜ逆は機能しないのですか?

私は何を間違っていますか?

更新 1:

Thor ソースを見た後、Thorthor\actions.rbがソースと宛先に異なるパス (現在のプロジェクト パスではない) を使用していることが明らかになりました。さらに、私のコピーは実際には機能していませんでした。実際には、既に生成されたファイルではなく、ERB テンプレート ファイルをコピーしていました。

一息ついた後、仕事に適したツールを使用することに気づきました。UNIXツールがインストールされていないWindowsボックスではこれが機能しないと確信していますが、それでも問題ありません。誰かがより良い方法を持っていますか?run 'cp environment.rb environment.~'run 'mv environment.~ environment.rb'

0 投票する
2 に答える
3993 参照

ruby - スタンドアロンの ruby​​ 実行可能ファイルでの thor コマンドのネームスペース

コマンド ラインでトール コマンドを呼び出す場合、メソッドはモジュール/クラス構造によって名前空間が付けられます。

コマンドで実行されます

ただし、入れてその自己実行可能にする場合

下部で、次のようなコマンドを実行できます。

これらのコマンドに名前を付ける方法はありますか? たとえば、呼び出すことができるように

0 投票する
6 に答える
8033 参照

ruby - Thorタスクを別々のクラス/モジュール/ファイルで構成する方法は?

Thorにこれをさせるのに苦労しているので、誰かが私が間違っていることを指摘してくれることを願っています.

class MyApp < Thorとのような複数の名前空間の個別のファイルに分割したいメイン クラスがthor create:app_typeありthor update:app_typeます。Thor アプリをバラバラにする方法を示す例を見つけることができず、私が試したことがうまくいかないようです。

たとえば、メインの Thor クラスから抜け出そうとしているこのクラスを見てみましょう。

これをメインクラスに含めたり要求したりすると、次のようになります。

例外があります:'<module:Grouping>': undefined method 'desc' for Things::Grouping:Module (NoMethodError)

Thor タスクに複数の名前空間を持つことは可能ですか? もしそうなら、数百行を必要とする 1 つのモノリシックなクラスを持たないようにするにはどうすればよいでしょうか?