Commands

🚨 En Platanus dejamos de usar comandos. Ahora estamos usando Active Job como lugar para la lógica de negocio

Los Comandos son clases destinadas a realizar operaciones acotadas e independientes. Se implementan a través de un método perform que recibe argumentos y realiza operaciones con ellos entregando un resultado. También poseen un generador para construir su estructura,

$ rails generate command DoSomething foo

Esto generará una clase que implementa el método perform

class DoSomething < PowerTypes::Command.new(:foo, :bar)
  def perform(args)
  end
end

Luego pueden ser llamados y ejecutados de la siguiente forma,

result = DoSomething.for(foo: waffle, bar: pancake)

Donde :foo, :bar son los argumentos. Están disponibles en el comando como variables de instancia @foo, @bar

Última actualización