問題タブ [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-3 - railtieでrakeの代わりにthorを使う方法
Railtie で rake タスクの代わりに thor タスクを提供したいと考えています。Railties で rake スクリプトを提供するための簡単で十分に文書化された方法があります。
トールタスクで同じことを行うにはどうすればよいですか?
ruby - トールオプションハッシュにアクセス
値をThorオプションハッシュにマージしたい。
マージを使用するだけでエラーが発生します、HashWithIndifferentAccess
ドキュメントを読みましたが、それを機能させる方法を理解するのに苦労しています。この質問が、値をこの種のハッシュにマージする方法に関する質問の答えを見つけることと、ドキュメントの読み方を理解することの両方に役立つことを願っています。
task - クラス内からトールタスクリスト?
私はすべてを見てきました(グーグルで検索しました)が、これを行う方法を一生理解できません。現在のクラスで定義されているトール タスクのリストを取得することは可能ですか? トールに渡された引数が有効かどうかを判断するメソッドを作成しようとしています。これを行うには、定義されたすべてのタスクのリストが必要です。いくつかの定数でリストを作成することもできますが、可能であれば組み込みツールを使用したいと思います。
元:
私の質問が十分に明確でない場合、またはこれについてすべて間違っている場合は、お知らせください:)
ありがとう
ruby - my_commandの引数としてthor::groupジェネレーターを作成するにはどうすればよいですか
私のgemには、次のような引数を持つ実行可能コマンドが必要です。
だから私は作った
foo / bin / foo
そして、foo / lib / thor/foo.rbのFooファイル
そしてfoo/lib / thor / generators/project.rb そしてfoo/lib / thor / generators / config.rb
Thor::Groupから継承されたクラスをkatzの例のように指定したい場合...
だから私の質問は次のとおりです:実行可能ファイルからこれらのジェネレータを呼び出すことができるように設定するにはどうすればよいですか?
私も正しい方向に進んでいますか?理想的には、foo
それ自体で入力することで、すべてのジェネレーターとすべてのジェネレーターに役立つはずsay_hi
です。
ruby - Thor::Groupを引数付きのサブコマンドとして登録するにはどうすればよいですか
この質問はここから始まりました。しかし、トールについてもっと学ぶにつれて、大きく変化しました。
引数を取るThor::Groupサブコマンドを作成しようとしています。奇妙なことに、引数がない場合は機能します。
Thor :: Groupをサブコマンドとして使用できますか?
これは、次のように入力すると機能します。 foo counter
foo / bin / foo
しかし、これは私が入力したときに機能しません: foo counter 5
それは答えます:counter was called incorrectly. Call as foo counter number
ruby - Thor & YAML はバイナリとして出力されますか?
Thor を使用して、YAML をファイルに出力しようとしています。irb では、期待どおりの結果が得られます。YAML 形式のプレーン テキスト。しかし、トールのメソッドの一部である場合、その出力は異なります...
何か案は?
ruby - 複数の Thor タスクでグローバル データを共有するためのベスト プラクティス
現在、いくつかの異なるタスクをサポートする Thor 実行可能ファイルを構築しています。一部のタスクは、他のタスクを呼び出します。例えば
- 認証
- ローカルユーザーを認証します
- 作成
- 認証を呼び出す
- 何かをします
- 設定を呼び出す
- 構成、設定:
- 認証を呼び出す
- 何かをします
thor の優れた点は、3 つのタスクすべてを個別に呼び出すことができるようになったことですが、たとえば、authenticate は呼び出しを介して 1 回だけ呼び出されるようにしてください。
しかし、これらのタスク間でデータを共有するための最良の方法は何ですか? たとえば、認証時に現在のユーザーのユーザー ID を設定したいとします。したがって、Web サービスからデータを要求する場合、同じ方法でコードのどこからでもユーザー ID を取得できます。
現在、モジュールを介してこれを実装していますが、これが最善の方法であるかどうかはよくわかりません。
シングルトンを使用するのも別の方法ですが、どういうわけか、これはこの目的には少し多すぎるように思えます。
おそらく、これを行うためのより良い方法の経験があるかもしれませんし、モジュールを使用することがとにかく情報を保存するための最良の方法であるかもしれません。
ruby-on-rails - カスタムレールジェネレータのソースを変更するにはどうすればよいですか?(ソー)
新しいRailsアプリを生成するカスタムジェネレーターを作成しています。このようにします
問題は、新しいソースディレクトリを追加するにはどうすればよいですか(これは、、、などで使用されThor::Actions#copy_file
ますThor::Actions#template
)。Thor::Actions#source_paths
ソース(パスの配列)を保持しているThorのドキュメントで見たので、クラス内でオーバーライドしてみました(含まれているためThor::Actions
)。
./templates
これで、Railsのディレクトリを維持しながら、ソースにディレクトリを追加したかったのです(これ+ super
が最後の理由です)。ただし、機能しません。それでも、Railsのソースパスが唯一のパスとしてリストされます。
Railsのソースコードを閲覧しようとしましたが、Railsがどのように彼のディレクトリをソースパスに配置しているかがわかりませんでした。そして、私は本当にそれを知りたいです:)
ruby - Rubyクラスのメソッドをリストする「トールリスト」を取得するにはどうすればよいですか
最も単純なプログラムでも、タスクをトールにリストするのに問題があります。
実行時のコンソール出力は次のとおりですthor list
ご覧のとおり、「hello」メソッド名は出力から省略されています。私を助けてくれませんか?
ありがとう、
ポール
ruby-on-rails - Rails App Template CD を作成して、バンドル コマンドをルート化して実行しますか?
Rails 3.2 でアプリ テンプレート スクリプトを改善したいと考えています。
私は次のようなことをします
rails new APPNAME -m path/to/template.rb
スクリプトを更新しcd
て、新しいアプリケーションを実行できるようにしbundle exec COMMAND
たいですか?
例えば、
上記のコードを実行すると、次のようなエラーが発生します-
私の怠け者を有効にしていただきありがとうございます。