NAME
Workflow::Context - Data blackboard for Workflows, Actions, Conditions and Validators
VERSION
This documentation describes version 2.05 of this package
SYNOPSIS
# Create your own context and merge it with one that may already be
# in a workflow
my
$context
= Workflow::Context->new();
$context
->param(
foo
=>
'bar'
);
$context
->param(
current_user
=> User->fetch(
'foo@bar.com'
) );
my
$wf
= FACTORY()->create_workflow(
'w/f'
,
$context
);
# The above is the same as:
$context
= Workflow::Context->new(
foo
=>
'bar'
,
current_user
=> User->fetch(
'foo@bar.com'
),
);
$wf
= FACTORY()->create_workflow(
'w/f'
,
$context
);
# In a Condition get the 'current_user' back out of the workflow's context
sub
evaluate {
my
(
$self
,
$wf
) =
@_
;
my
$current_user
=
$wf
->context->param(
'current_user'
);
...
}
# Set values directly into a workflow's context
$wf
->context->param(
foo
=>
'bar'
);
$wf
->context->param(
news
=> My::News->fetch_where(
'date = ?'
, DateTime->now ) );
DESCRIPTION
Holds information to pass between your application and a Workflow, including its Actions, Conditions and Validators.
OBJECT METHODS
init( %params )
Adds %params
to the context at instantiation.
merge( $other_context )
Merges the values from $other_context
into this object. If there are duplicate keys in this object and $other_context
, $other_context
wins.
SEE ALSO
COPYRIGHT
Copyright (c) 2003-2021 Chris Winters. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Please see the LICENSE
AUTHORS
Please see Workflow