Beispiel #1
0
 /**
  * Factory for loading minion tasks
  *
  * @throws Kohana_Exception
  * @param  string The task to load
  * @return Minion_Task The Minion task
  */
 public static function factory($task)
 {
     if (!is_string($task)) {
         throw new InvalidArgumentException();
     }
     $class = Minion_Util::convert_task_to_class_name($task);
     if (!in_array('Minion_Task', class_parents($class))) {
         throw new Kohana_Exception("Task ':task' is not a valid minion task", array(':task' => get_class($task)));
     }
     return new $class();
 }
Beispiel #2
0
 /**
  * Tests that a task can be converted to a class name
  *
  * @test
  * @covers Minion_Util::convert_task_to_class_name
  * @dataProvider provider_convert_task_to_class_name
  * @param string Expected class name
  * @param string Input task name
  */
 public function test_convert_task_to_class_name($expected, $task_name)
 {
     $this->assertSame($expected, Minion_Util::convert_task_to_class_name($task_name));
 }