GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CLASS::WORKFLOW::YAML (3)

.ds Aq ’

NAME

Class::Workflow::YAML - Load workflow definitions from YAML files.

CONTENTS

SYNOPSIS



        my $y = Class::Workflow::YAML->new;

        my $w = $y->load_file("workflow.yml");

        # an exmaple workflow.yml for the bug flow
        # mentioned in Class::Workflow
        ---
        # data not under the key "workflow" is ignored.
        # In this example I use misc to predeclare
        # an alias to some code Ill be using later.
        misc:
          set_owner_to_current_user: &setowner !perl/code: |
            {
              my ( $self, $instance, $c ) = @_;
              # set the owner to the user applying the
              # transition (see Class::Workflow::Context)
              return { owner => $c->user };
            }
        workflow:
          initial_state: new
          states:
            - name: new
              transitions:
                # you can store transition
                # information inline:
                - name    : reject
                  to_state: rejected
                # or symbolically, defining
                # in the transitions section
                - accept
            - name: open
              transitions:
                - name    : reassign
                  to_state: unassigned
                  # clear the "owner" field in the instance
                  set_fields:
                    owner: ~
                - name    : claim_fixed
                  to_state: awaiting_approval
            - name: awaiting_approval
              transitions:
                - name    : resolved
                  to_state: closed
                - name    : unresolved
                  to_state: open
            - name: unassigned
              transitions:
                - name    : take
                  to_state: open
                  # to dynamically set instance
                  # you do something like this:
                  body_sets_fields: 1
                  body            : *setowner
            # these two are end states
            - closed
            - rejected
          # we now need to define
          # the "accept" transition
          transitions:
            - name            : accept
              to_state        : open
              body_sets_fields: 1
              body            : *setowner



DESCRIPTION

This module lets you easily load workflow definitions from YAML files.

YAML is nice for this because its much more concise than XML, and allows clean embedding of perl code.

FIELDS

workflow_key

METHODS

load_file $filename
load_string $string Load the YAML data, and call inflate_hash on an empty workflow.
inflate_hash $workflow, $hash Define the workflow using the data inside $hash->{$self->workflow_key}.
empty_workflow Calls Class::Workflow->new
localize_yaml_env A wrapper method to locally set $YAML::Syck::UseCode to 1.

SEE ALSO

Class::Workflow, YAML
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CLASS::WORKFLOW::YAML (3) 2009-05-15

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.