Module: Olyx::Guardrails::Rails::Job::ClassMethods

Defined in:
lib/olyx/guardrails/rails/job.rb

Overview

Class methods added to an Active Job class.

Instance Method Summary collapse

Instance Method Details

#guardrails_argument_selectorsObject

:nodoc:



24
25
26
27
28
29
# File 'lib/olyx/guardrails/rails/job.rb', line 24

def guardrails_argument_selectors # :nodoc:
  return @guardrails_argument_selectors if defined?(@guardrails_argument_selectors)
  return superclass.guardrails_argument_selectors if superclass.respond_to?(:guardrails_argument_selectors)

  [].freeze
end

#guardrails_input_arguments(*selectors) ⇒ Object

:call-seq:

guardrails_input_arguments(*selectors)

Declares positional Integer indexes and keyword Symbol names to evaluate before perform. The declaration requires at least one non-negative Integer or Symbol. Missing selected arguments raise ArgumentError when the job runs.



38
39
40
41
42
# File 'lib/olyx/guardrails/rails/job.rb', line 38

def guardrails_input_arguments(*selectors)
  validate_guardrails_selectors!(selectors)
  @guardrails_argument_selectors = selectors.freeze
  before_perform { |job| job.send(:guardrails_enforce_arguments!) }
end