rigor-activejob
Job.perform_later(...)/.perform_now(...)/.perform(...)の引数のアリティ(arity)を、発見した#perform定義に対して検証します。Railsのランタイム依存はありません ── このプラグインはPrism経由でプロジェクトのソースを読むだけです。
このプラグインはrigortypeにバンドルされて提供されます。plugins:の下で有効化します:
plugins: - rigor-activejob何をチェックするか
Section titled “何をチェックするか”#performが必須引数1個と任意引数1個(アリティ1..2)を取るジョブがある場合:
demo.rb:6:1: info: `WelcomeEmailJob.perform_later` matches `#perform` (arity 1..2)demo.rb:9:1: error: `WelcomeEmailJob.perform_later` expects 1..2 argument(s), got 0demo.rb:12:1: error: `WelcomeEmailJob.perform_later` expects 1..2 argument(s), got 3*restパラメータは上限のないアリティ(arity 0+)を生み出します。3つのエントリーポイントすべて ── perform_later(非同期)、perform_now(同期)、裸のperform ── は、同じ#performのエンベロープに対して検証されます。
plugins: - gem: rigor-activejob config: job_search_paths: ["app/jobs"] # default job_base_classes: ["ApplicationJob", "ActiveJob::Base"] # default- 直接のスーパークラスのみマッチ。
BaseJob < ApplicationJobである状況下でのclass WelcomeJob < BaseJobは、BaseJobをjob_base_classesに追加しない限り発見されません。 - 構文上のアリティ。
#performのアリティはパラメータリストから読み取られます。define_methodで構築された#performは対象外です。 - 位置アリティのみ。必須のキーワード引数は発見器によって記録されますが、呼び出し箇所ではまだ検証されません。
プラグインの内部
Section titled “プラグインの内部”ジョブの発見器/インデックス、キャッシュされた:job_indexプロデューサー、デモ、そしてこのプラグインが行使する契約(contract)サーフェスは、プラグインのREADMEにあります。プラグインを書くには、examples/とrigor-plugin-authorスキルを参照してください。
© 2026 TypedDuck. Licensed under CC BY-SA 4.0.