問題タブ [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.
ruby-on-rails - トールとの対話型プロンプト
ユーザーに flickr_id、flickr_apikey などを言ってもらいたいのですが、すべての引数のために長くて重い行にならないように、私のインストール コマンドの下でそれを行うのが最も幸せです。
のようなもの
等々?あなたはアイデアを得ることができますか?
ruby-on-rails - ThorスクリプトrubyのRakeタスク
インストーラーを作成中です。それで、どういうわけかデータベースを移行したいと思います。私はThorを使用してRails3でインストーラーを作成しています。
したがって、(コマンドラインで)のようなもの
ありがとうございました。
ruby - Thor を使用して、CLI に引数のみ (タスクではなく) を渡し、それをデフォルトのメソッド/タスクに送信できますか?
Thor を使用して、作成中の Ruby gem の CLI を作成しています。myapp path/to/file
実行可能ファイルは、ユーザーがタスクを定義する必要がなく、引数のみを定義する必要があるという意味で、理想的には のようなコマンドを取ります。
API を調べましたが、default_taskはタスク/引数が存在しない場合にのみ機能します。
この可変ファイル引数をデフォルトのメソッド/タスクに送信し、存在しないタスクのように解釈しないようにするにはどうすればよいですか?
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でデーモンを処理するためのベストプラクティスまたはパターンを文書化するとよいと思います。
ruby-on-rails - Rails 本番環境で Thor を実行する
Rails 3 で本番環境でトールタスクを実行したいのですが、設定方法がわかりません。次のコードは機能しませんでした
ruby-on-rails - Thorスクリプト内からGitまたは他のコマンドラインツールを呼び出すことは可能ですか?
Rails 3アプリのgitcommitを実行する前後に、一連のルーチンの「クリーンアップ」タスクを実行していることがよくあります。
これらをThorスクリプトに入れることを考えていましたが、Thor(またはRake)を使用してシステム上の他のツールを呼び出す方法がわかりませんでした。
ThorまたはRakeスクリプトからのようなコマンドを呼び出すことは可能git log
ですか?もしそうなら、それはどのように見えますか?
ありがとう!
ruby - Thor の VIM での Ruby のような構文の強調表示
ルビーの場合と同じように、 Thorで同じ構文強調表示を使用するように vim を構成するにはどうすればよいですか? *.thor ファイルを編集しているときは、 を使用できますが:set syntax=ruby
、これは機能しますが、永続的ではありません。*.thor の場合、.vimrc ファイルで条件付きで構文を ruby に設定する方法はありますか? トール構文ファイルを作成して、Ruby から継承してみてはいかがでしょうか。
ruby-on-rails - この Rails テンプレートの何が問題になっていますか?
初めての Rails アプリケーション テンプレートを作成しようとしていますが、copy_file
メソッドでわずかな問題が発生しています。
最初にいくつかの背景.... どうやら Ruby OpenSSL パッケージには CA ストアが同梱されていないため、HTTPS サービスに接続しようとするとすぐに失敗します。これを回避する方法 (Rails 3 アプリの場合) は、ファイルOpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
の先頭に行を追加することです。config/environment.rb
jQuery をインストールできるように、テンプレートでその場でこれを行う必要があります。
だから私はそれをすべて理解しました、私の一般的な考えは次のとおりです:
- ファイルのバックアップを作成し
config/environment.rb
ます。 - 元のデータの先頭に追加
jquery:install --ui
タスクを実行する- 元のファイルを復元し
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'
ruby - スタンドアロンの ruby 実行可能ファイルでの thor コマンドのネームスペース
コマンド ラインでトール コマンドを呼び出す場合、メソッドはモジュール/クラス構造によって名前空間が付けられます。
コマンドで実行されます
ただし、入れてその自己実行可能にする場合
下部で、次のようなコマンドを実行できます。
これらのコマンドに名前を付ける方法はありますか? たとえば、呼び出すことができるように
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 つのモノリシックなクラスを持たないようにするにはどうすればよいでしょうか?