Module: LittleMonster::RSpec::TaskHelper
- Defined in:
- lib/little_monster/rspec/helpers/task_helper.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
Instance Method Details
#generate_task(task, options = {}) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/little_monster/rspec/helpers/task_helper.rb', line 24 def generate_task(task, = {}) task_class = if task.class != Class task.to_s.camelcase.constantize else task end task_symbol = task.to_s.underscore.split('/').last.to_sym data = if [:data].class == LittleMonster::Job::Data [:data] else LittleMonster::Job::Data.new(double(current_action: task_symbol), outputs: .fetch(:data, {})) end default_values = { data: data, cancelled_callback: proc { .fetch(:cancelled, false) }, job_id: .fetch(:job_id, nil), retries: .fetch(:job_retries, 0), max_retries: .fetch(:job_max_retries, 0), retry_callback: proc { !.fetch(:last_retry, false) } } task_instance = task_class.new(data) task_instance.send(:set_default_values, default_values) task_instance end |