Module: Sidekiq::Sorbet::ClassMethods
- Extended by:
- T::Sig
- Defined in:
- lib/sidekiq/sorbet/class_methods.rb
Overview
Class methods added to workers that include Sidekiq::Sorbet
Instance Method Summary collapse
- #args_class ⇒ Object
- #run_async(**kwargs) ⇒ Object
- #run_at(time, **kwargs) ⇒ Object
- #run_in(interval, **kwargs) ⇒ Object
- #run_sync(**kwargs) ⇒ Object
Instance Method Details
#args_class ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/sidekiq/sorbet/class_methods.rb', line 76 def args_class return @args_class if defined?(@args_class) @args_class = T.let( begin klass = const_defined?(:Args, false) ? const_get(:Args) : nil validate_args_class!(klass) if klass klass end, T.nilable(T.class_of(T::Struct)), ) end |
#run_async(**kwargs) ⇒ Object
19 20 21 22 23 |
# File 'lib/sidekiq/sorbet/class_methods.rb', line 19 def run_async(**kwargs) args_instance = build_args(**kwargs) serialized = serialize_args(args_instance) perform_async(serialized) end |
#run_at(time, **kwargs) ⇒ Object
33 34 35 36 37 |
# File 'lib/sidekiq/sorbet/class_methods.rb', line 33 def run_at(time, **kwargs) args_instance = build_args(**kwargs) serialized = serialize_args(args_instance) perform_at(time, serialized) end |
#run_in(interval, **kwargs) ⇒ Object
47 48 49 50 51 |
# File 'lib/sidekiq/sorbet/class_methods.rb', line 47 def run_in(interval, **kwargs) args_instance = build_args(**kwargs) serialized = serialize_args(args_instance) perform_in(interval, serialized) end |
#run_sync(**kwargs) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/sidekiq/sorbet/class_methods.rb', line 59 def run_sync(**kwargs) args_instance = build_args(**kwargs) worker = new worker.instance_variable_set(:@args, args_instance) worker.define_arg_accessors if args_instance worker.run rescue InvalidArgsError, ArgsNotDefinedError, SerializationError raise rescue StandardError => e raise Error, "Error in #{name}#run: #{e.}\n#{e.backtrace&.join("\n")}" end |