class Screengem::Factories::TaskFactory

Knows how to create a Task from a task name.

Public Instance Methods

method_missing(task_name, *args) click to toggle source
# File lib/screengem/factories/task_factory.rb, line 9
      def method_missing(task_name, *args)
        task_class_name = "#{task_name}_task".camelize
        task_class = "#{task_scope}::#{task_class_name}".constantize

        task_class.new(*args)
      rescue => e
        TaskError.new(<<~MSG)
          Unable to create task: '#{task_class_name}'.
            Details: #{e.message}
        MSG
      end
respond_to_missing?(_task_name, *) click to toggle source
# File lib/screengem/factories/task_factory.rb, line 21
def respond_to_missing?(_task_name, *)
  true
end

Private Instance Methods

task_scope() click to toggle source
# File lib/screengem/factories/task_factory.rb, line 33
def task_scope
  @task_scope ||= ::Screengem.configuration.task_scope
end