問題タブ [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 - thor copy_file コマンドが機能しないのはなぜですか?
Rails アプリ テンプレートをセットアップしようとしていますが、sample.rb テンプレート ファイルに次のコードが含まれています。
バンドルのインストールは正常に実行されますが、コピー コマンドは次のエラーで失敗します。
このエラーとその修正方法がわかりません。私は何を間違っていますか?助けてください。
ruby-on-rails - Thorを使用してファイル内の行を削除する
Thor アクションを使用してファイルからテキスト行を削除することは可能ですか? たとえば、ルビのコメントを削除したいとします。これまでのところ、2 つのアクションが見つかりました: comment_lines
- 行をコメントアウトし、gsub_file
ありがとう
ruby-on-rails - Ruby スクリプトから .rvmrc ファイルを使用する
背景
最初にこの質問の背景を少し説明します。最近、Ruby on Rails にはセキュリティ上の問題がいくつかあります。そのため、プロジェクトの Rails バージョンを更新する必要があります。いくつかある場合、手動で行うとすぐに古くなります...だから、このためのトールタスクを作成できると考えました。
質問
これでうまくいきます!しかし!Rails の新しいバージョンをインストールするときは、プロジェクトごとに .rvmrc ファイルを尊重する必要があります。このスクリプトをすぐにオープンソース化してほしいのですが、最初に .rvmrc ファイルを尊重しないという問題に取り組みたいと思っています。
したがって、ディレクトリを変更してRailsバージョンを更新するときに、適切なRVM rubyバージョン/gemsetを使用する方法が必要です。
これはどのように行われるのでしょうか?シェルに関係なく、Mac と Linux で動作するように Ruby スクリプトから実行できますか (zsh サポートに関する回答が見つかりましたが、他のすべてのシェルはどうですか?)
簡単なコード例:
私がやろうとしていることのアイデアをあなたに与えるためだけに。
github のスクリプトへのリンク
ruby - 引数宣言での引数値の使用
以前に宣言された引数の値に基づいて、引数のデフォルト値を指定したいと考えています。この例では、handlerSendPort
デフォルト値はhandlerRecvPort + 1
これは次の場合に失敗します。
undefined local variable or method
Noov::App:Class (NameError)` の handlerRecvPort'
クラス評価のコンテキストでは引数値を使用できないことに気付きました (メタマジックを機能させることを望んでいましたが)。この時点で引数値にアクセスするにはどうすればよいでしょうか?
ruby - Thor が no_tasks メソッドを備えているのはなぜですか?
または、より具体的に言うと、代わりにプライベートメソッドを使用することはできませんか?
ruby - 停止時にrubyThor内のすべてのプロセスを強制終了する方法は?
以下に、 Thorを使用してrakeタスク管理のように実行するスクリプトがありますARGV
。
開始するruby script.rb start
と、2つのサブプロセス(合計3つ)が生成されます。私の質問は、実行時にすべてのプロセスを強制終了する方法ruby script.rb stop
です。Webの周りで、開始時にpid親プロセスをファイルに保存し、停止するとそれを読み取って強制終了する必要があることを確認しました。問題は、親を殺しても子供は殺されないということです。したがって、3つのpidをすべてファイルに保存し、後で1つずつ強制終了することができます。
これを行う正しい方法は何か、そして内部のプロセスを操作する方法が正しいかどうかを自問していstart
ます。
ruby-on-rails - カスタム ジェネレーターでフォルダーを破棄する方法
Thorを使用してレールで独自のジェネレーターを作成することで、少しばかげた問題が発生しています。
ジェネレーターを実行すると、自動的にコードベースにファイルが作成されることが判明しました。たとえば、
トールは、私たちが呼び出すときに逆の方法を知っているほど賢いと思われますdestroy
ただし、ご覧のとおり、そのファイルを格納するために生成されたフォルダーは削除されません。後で作成された他のファイルなどを保持したい場合があるため、これは予想される動作であることを理解しています。
問題は次のとおりです。電話をかけるときにトールにフォルダーを削除するように依頼/強制するにはどうすればよいdestroy
ですか?
よろしくお願いします!
thor - トールとの相互排他的オプション
Thor で相互に排他的な 2 つのオプションを持つ方法はありますか? たとえば、何かのリストのオプションを提供する必要があります。私にはオプションがあるかもしれませんし、コンテンツを含むファイルを渡す-l ent1 ent2 ent3 ent67
オプションがあるかもしれません。メソッドに追加の処理コードを書かずに、これら 2 つのオプションを Thor と相互に排他的にすることはできますか?-f
ent1 ent2 ent3 ent67
ruby - Thor Jekyllを起動してから、ブラウザでページを開きます
こんにちは私はThorにサーバーを起動させたいです-Jekyll/Python/PHPなどそしてブラウザを開きます
ただし、開始はブロッキングタスクです。
Thorで子プロセスを作成する方法はありますか。または新しいターミナルウィンドウを生成します-見ることができず、グーグルは私に合理的な答えを与えませんでした。
私のコード
ruby-on-rails-3.2 - Autotest re: Thor での「Bundler:GemNotFound」エラー
編集:トール 0.17.0 にロールバックしたところ、うまくいったようです。理由はわかりませんが、あります。
原因はわかりましたが、自動テストでテストの実行が停止し、次のエラーが発生しました。
SO で GemNotFound エラーに関する同様の問題をいくつか見たことがありますが、解決策はこれに対してうまくいかないようです。bundle exex gem list
Thor 0.18.0 を実行すると存在します。