Skip to content

Instantly share code, notes, and snippets.

View geomagilles's full-sized avatar

Gilles Barbier geomagilles

View GitHub Profile
<?php
...
public function handle()
{
...
// select a set of providers for this request
$providers = (new SelectProvidersForRequest($this->request))->execute();
<?php
use Zenaton\Interfaces\WorkflowInterface;
use Zenaton\Tasks\Wait;
use Zenaton\Traits\Zenatonable;
class RequestManagementWorkflow implements WorkflowInterface
{
use Zenatonable;
<?php
use Zenaton\Interfaces\WorkflowInterface;
use Zenaton\Traits\Zenatonable;
use Zenaton\Tasks\Wait;
class NotifyEtaWorkflow implements WorkflowInterface
{
use Zenatonable;
// inform user # seconds before ETA
<?php
use Zenaton\Interfaces\WorkflowInterface;
use Zenaton\Traits\Zenatonable;
use Zenaton\Tasks\Wait;
class NotifyEtaWorkflow implements WorkflowInterface
{
use Zenatonable;
// inform user # seconds before ETA
<?php
use Zenaton\Interfaces\EventInterface;
class EtaUpdatedEvent implements EventInterface
{
public $eta;
public function __construct($eta)
{
<?php
use Zenaton\Interfaces\WorkflowInterface;
use Zenaton\Traits\Zenatonable;
use Zenaton\Tasks\Wait;
class NotifyEtaWorkflow implements WorkflowInterface
{
use Zenatonable;
// inform user # seconds before ETA
var { Workflow, Wait } = require("zenaton");
var SendMyBeautfulEmail1 = require("./SendMyBeautfulEmail1");
var SendMyBeautfulEmail2 = require("./SendMyBeautfulEmail2");
var SendMyBeautfulEmail3 = require("./SendMyBeautfulEmail3");
var SendMyBeautfulEmail4 = require("./SendMyBeautfulEmail4");
var SendMyBeautfulEmail5 = require("./SendMyBeautfulEmail5");
var SendMyBeautfulEmail6 = require("./SendMyBeautfulEmail6");
module.exports = Workflow("WelcomeEmailSerie_v2", {
handle() {
var { Version } = require("zenaton");
var WelcomeEmailSerie_v0 = require("./WelcomeEmailSerie_v0");
var WelcomeEmailSerie_v1 = require("./WelcomeEmailSerie_v1");
module.exports = Version("WelcomeEmailSerie", [
WelcomeEmailSerie_v0,
WelcomeEmailSerie_v1
]);
var { Workflow, Wait } = require("zenaton");
var SendMyBeautfulEmail1 = require("./SendMyBeautfulEmail1");
var SendMyBeautfulEmail2 = require("./SendMyBeautfulEmail2");
var SendMyBeautfulEmail3 = require("./SendMyBeautfulEmail3");
module.exports = Workflow("WelcomeEmailSerie_v1", function() {
new SendMyBeautfulEmail1(this.email).execute();
new Wait().monday().at('08:00').execute();
new SendMyBeautfulEmail2(this.email).execute()
new Wait().monday().at('08:00').execute();
var { Workflow, Wait } = require("zenaton");
var SendMyBeautfulEmail1 = require("./SendMyBeautfulEmail1");
var SendMyBeautfulEmail2 = require("./SendMyBeautfulEmail2");
var SendMyBeautfulEmail3 = require("./SendMyBeautfulEmail3");
module.exports = Workflow("WelcomeEmailSerie", function() {
new SendMyBeautfulEmail1(this.email).execute();
new Wait().days(3).execute();
new SendMyBeautfulEmail2(this.email).execute()
new Wait().days(3).execute();