Class: Screengem::Factories::TaskFactory

Inherits:
BasicObject
Includes:
Singleton
Defined in:
lib/screengem/factories/task_factory.rb

Overview

Knows how to create a Task from a task name.

Defined Under Namespace

Classes: TaskError

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(task_name, *args) ⇒ Object

rubocop:disable Style/MethodMissingSuper



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/screengem/factories/task_factory.rb', line 9

def method_missing(task_name, *args) # rubocop:disable Style/MethodMissingSuper
  task_class_name = "#{task_name}_task".camelize
  task_class = "#{task_scope}::#{task_class_name}".constantize

  task_class.new(*args)
rescue => e
  TaskError.new("    Unable to create task: '\#{task_class_name}'.\n      Details: \#{e.message}\n  MSG\nend\n")

Instance Method Details

#respond_to_missing?(_task_name) ⇒ Boolean

Returns:



21
22
23
# File 'lib/screengem/factories/task_factory.rb', line 21

def respond_to_missing?(_task_name, *)
  true
end