問題タブ [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 - Ruby gem でジェネレーターに Thor を使用する
バイナリ コマンド (例: Thor の一連のジェネレータ コマンドを使用してファイルを作成する「project newProject」) を持つように gem を設定するにはどうすればよいですか?
良い答えは、コマンド ラインから実行された場合、つまり "project newProject" という gem のスケルトンをレイアウトする方法を説明することです。これは、実行元のディレクトリに "newProject.txt" という名前のファイルを 1 つ作成します。
Rails 3 が Thor を使用してジェネレーターに電力を供給しているのを見てきました。私が取り組んでいるRails以外のRuby gemで同様のアプローチを使用したいと思います。Rails 3 のソースを調べてみましたが、少し複雑なため、質問です。
ruby - パスワードを入力した後、Net ::SSHsudoコマンドがハングする
私はThorを使用して小さなライブラリを作成し、新しいプロジェクトやサイトをすばやく作成できるようにしています。私はこの小さな方法を書きました:
必要なときにリモートサーバーでクイックコマンドを実行するのを支援するだけです。
問題は、リモートエンドのsudoでコマンドを実行する必要がある場合、スクリプトがハングしているように見えることです。たとえば、これを実行するとき...
スクリプトはパスワードの入力を求めます
しかし、それを入力した後、すべてがハングします。
なぜそれが正確にハングするのか、そしてNet :: SSH(またはいくつかの代替手段)の下のリモートサーバーでsudoコマンドを実行するために私ができることを誰かが知っているでしょうか?
*注:提案される前は、トールに出くわすまで、私はもともとこのライブラリをCapistranoの下でレシピとして書き始めていたので、試してみる良い機会になると思いました。必要に応じてすべてをCapistranoに戻す必要はありませんが、リモートサーバーでsudoコマンドを実行する簡単な方法がない場合は本当に驚きます。
ruby - 自動化スクリプトのRakeとThor?
次のようなことを自動化したい:
- 事前に選択されたデータベースで新しい Ruby on Rails アプリケーションを作成し、Git で初期化し、Herokuプロジェクトを作成し、すべてのファイルをコミットします。
- フォルダー内のすべてのファイルを SSH 経由で別のコンピューターにアップロードしますが、ファイルを上書きしません。
- Ubuntu をアップグレードし、apt-get を使用してすべての基本パッケージをインストールします。
私の理解では、このためのツールは Rake と Thor ですが、どちらを使用すればよいでしょうか?
Rake は、よりデファクトで人気があるように思えます。トールを勧めている人がいると聞いたことがあります。
要約すると、これらはどのように互いに立っていますか?
ruby - Thorを呼び出さずに実行可能なThorを利用したスクリプトを呼び出すことは可能ですか?
bin
私はトールベースのRubyスクリプトを持っていますが、人々が何もしなくてもヒットできるように、人々のディレクトリにgemとしてデプロイしたいと考えていますthor mytool
。
代わりに、彼らはただ使用しますmytool
これは可能ですか?
バニラでそれが可能であることは知っていますoptparse
が、可能であればトールを使用したいと思います.
更新:これは、Thor ページの例に基づいて使用しているコードですが、以下のエラーが発生します。
エラー:
ruby-on-rails - コンソール アプリケーションの Boson と Thor の比較
Thor は非常に人気があり、Boson よりも多くのフォロワーと貢献者を持っていますが、Boson は Thor よりもはるかに強力に見え、アーキテクチャは非常によく考えられています。
ボソンであなた:
- コンソールと Ruby 環境の両方で使用されるメソッドを追加できます。したがって、コンソール用の Thorfiles と Ruby 用の gem の両方を用意する必要はありません。
- エイリアスを持つことができます。
- スクリプト ファイルをインストールする必要はありません。~/.boson/commands に配置するだけです。私は毎回、更新のたびに Thorfiles をアンインストールしてインストールするのに苦労しなければなりません (ソース コードを編集するときは毎分そうなる可能性があり、非常にイライラします)。
- トールよりもはるかに優れたコマンド出力があります。
- Thor のように引数の説明を手で書く必要はありません。
- クラスよりも優れているモジュールを使用すると、他のモジュール内にモジュールを含めることができます。
- オープンソースのスニペット (Gist など) をモジュール内に自動的にラップし、Boson ですぐに動作します。
- メソッドの結果に対してさまざまなビューがあります。
- ネイティブの Ruby コード (モジュール) のみを使用するため、Thor に合わせてスニペットを再コーディングする必要はありません。つまり、ある日 Boson を使用したくない場合でも、すべてを再コーディングする必要はありません。Thor を使用している場合は再コーディングする必要があります。
- 各クラス内のチュートリアルのように、API はより適切に文書化されています。
- Rubyスクリプト内に「boson」モジュールを含めて直接使用することができます.Thorではできません.Thor専用です. Thor メソッドを他の Thor クラスと共有することはできません (ミックスインとしてではありません)。
ドキュメントを読んだだけでこれらすべての利点に気づき、Boson で数分間遊んでみました。
より人気があるという理由だけで Thor を使用する必要がありますか (boson よりも優れているものを他に見つけることができないため)、または作成者が唯一の貢献者であるため、しばらくすると Boson が維持されなくなる可能性があるというリスクを負う必要がありますか?
たった 1 人の人物ですが、彼がどのように高速かつ卓越した品質でコーディングを行っているかがわかります。彼のようなより多くの貢献者がそのライブラリに貢献してくれたら素晴らしいことです。すべてのシステム自動化のためのスクリプト フレームワークになる可能性が大いにあるので、より多くの rubyist がそれを使用することを本当に望んでいます。バックエンドの Rails のように。また、著者は、問題を報告するときに非常に迅速に対応してくれます。
Thor はシェル (これが目的だと思います) でのみ機能しますが、boson には 3 つの主な機能があります。これにより、シェルや ruby (irb およびスクリプト) でコードを動作させることができ、すべての Ruby コードの優れたコレクションを変更なしで作成できます。
私は常にフレームワークをバックエンド スクリプト フレームワークにしたいと考えていましたが、今では車輪を再発明する必要はありません。ボソンがそれである可能性があるようです。
誰かがこれらのライブラリの両方を使用して、いくつかの考えを共有できますか?
javascript - JavascriptのThorと同等または同様のスクリプトフレームワーク?
スクリプトの作成に使用できる Javascript 用の Thor に相当するもの (ルビー ツール) または同様のスクリプト フレームワークはありますか?
ruby - Ruby - トールは特定のタスクを最初に実行します
トールタスクを実行するときに、特定のタスクを最初に呼び出すことはできますか?
私のトールファイル:
すべてのタスクで「connect_to_database」メソッドを記述できますが、それはあまり DRY ではないようです。
ruby - 移行から Thor タスクを実行する
移行からトールタスクを呼び出したいです。レーキで私は書くことができます
しかし、どうすればトールでこれを行うことができますか? (thor コマンドは "thor db:rollback" です) (thor db:rollback
これはオプションではありません。出力を確認し、エラーが発生した場合はスクリプトを中止する必要があります)
更新: 移行は Thorfile から呼び出されます
次のようになります。
ruby-on-rails - Rails 3ジェネレーターでタスクを複数回呼び出す
2 つの異なるモデルを作成する Rails 3 ジェネレーターを作成しています。これは私がやろうとしていることの非常に単純化された例です:
問題は、Thor 呼び出しメソッドがタスクを 1 回だけ呼び出すため、「モデル」タスクへの 2 回目の呼び出しが発生せず、「バー」モデルが作成されないことです。できればジェネレーターで「レール破壊」を実行する機能を壊さない方法で、これを達成するエレガントな方法を知っている人はいますか?
ruby - Ruby で Thor gem のような DSL を書きますか?
Thor gemがこのような DSL を作成する方法を理解しようとしています(最初の例は README から)
desc
具体的には、どのメソッドをマップしてmethod_options
呼び出すかをどのように知るのでしょうか?