Class: OpenWFE::FqvExpression

Inherits:
FlowExpression show all
Defined in:
lib/openwfe/expressions/fe_fqv.rb

Overview

This expression implementation gathers the ‘f’, ‘q’ and ‘v’ expressions, along with their fullname ‘field’, ‘variable’ and ‘quote’.

These expressions place the value of the corresponding, field, variable or quoted (direct value) in the ‘result’ field of the current workitem.

sequence do

    set :field => "f0", :value => "fox"
    set :variable => "v0", :value => "vixen"

    set :field => "f1" do
        v "v0"
    end
    set :variable => "v1" do
        f "f0"
    end
    set :variable => "v2" do
        f "f0"
    end
end

Well, this is perhaps not the best example.

Instance Attribute Summary

Attributes inherited from FlowExpression

#apply_time, #attributes, #children, #environment_id, #fei, #parent_id, #raw_representation

Attributes included from Contextual

#application_context

Instance Method Summary collapse

Methods inherited from FlowExpression

#cancel, #clean_children, #delete_variable, #dup_environment, #fetch_environment, #fetch_text_content, #get_binding, #get_environment, #get_parent, #get_root_environment, #has_attribute, #initialize, is_definition, is_definition?, #lookup_attribute, #lookup_attributes, #lookup_boolean_attribute, #lookup_comma_list_attribute, #lookup_downcase_attribute, #lookup_ref, #lookup_string_attribute, #lookup_sym_attribute, #lookup_value, #lookup_variable, #lookup_vf_attribute, names, #new_environment, new_exp, #owns_its_environment?, #paused?, #remove_child, #reply, #reply_to_parent, #set_variable, #store_itself, #synchronize, #to_s, #to_yaml_properties

Methods included from Contextual

#get_work_directory, #init_service, #lookup

Methods included from Logging

#ldebug, #ldebug_callstack, #lerror, #lfatal, #linfo, #llog, #lunknown, #lwarn

Methods included from OwfeServiceLocator

#get_engine, #get_error_journal, #get_expool, #get_expression_map, #get_expression_pool, #get_expression_storage, #get_expression_storages, #get_journal, #get_participant_map, #get_scheduler, #get_wfid_generator

Methods inherited from ObjectWithMeta

#class_def, meta_def, meta_eval, metaclass

Constructor Details

This class inherits a constructor from OpenWFE::FlowExpression

Instance Method Details

#apply(workitem) ⇒ Object

apply / reply



84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/openwfe/expressions/fe_fqv.rb', line 84

def apply (workitem)

    name = @fei.expression_name[0, 1]
    text = fetch_text_content(workitem)

    method = MAP[name]

    result = self.send(method, text, workitem)

    workitem.set_result(result) if result != nil

    reply_to_parent(workitem)
end