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
Class::Workflow::YAML(3) User Contributed Perl Documentation Class::Workflow::YAML(3)

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

        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 I'll 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

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.

workflow_key

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.

Class::Workflow, YAML
2009-05-15 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

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