123456789_123456789_123456789_123456789_123456789_

Module: ActiveJob::Continuation::Validation

Do not use. This module is for internal use only.
Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: activejob/lib/active_job/continuation/validation.rb

Instance Method Summary

Instance Method Details

#raise_step_error!(message) (private)

Raises:

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 45

def raise_step_error!(message)
  raise InvalidStepError, message
end

#validate_step!(name) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 7

def validate_step!(name)
  validate_step_symbol!(name)
  validate_step_not_encountered!(name)
  validate_step_not_nested!(name)
  validate_step_resume_expected!(name)
  validate_step_expected_order!(name)
end

#validate_step_expected_order!(name) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 39

def validate_step_expected_order!(name)
  if completed.size > encountered.size && completed[encountered.size] != name
    raise_step_error! "Step '#{name}' found, expected to see '#{completed[encountered.size]}'"
  end
end

#validate_step_not_encountered!(name) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 21

def validate_step_not_encountered!(name)
  if encountered.include?(name)
    raise_step_error! "Step '#{name}' has already been encountered"
  end
end

#validate_step_not_nested!(name) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 27

def validate_step_not_nested!(name)
  if running_step?
    raise_step_error! "Step '#{name}' is nested inside step '#{current.name}'"
  end
end

#validate_step_resume_expected!(name) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 33

def validate_step_resume_expected!(name)
  if current && current.name != name && !completed?(name)
    raise_step_error! "Step '#{name}' found, expected to resume from '#{current.name}'"
  end
end

#validate_step_symbol!(name) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/continuation/validation.rb', line 15

def validate_step_symbol!(name)
  unless name.is_a?(Symbol)
    raise_step_error! "Step '#{name}' must be a Symbol, found '#{name.class}'"
  end
end