Class: Pione::RuleEngine::Task

Inherits:
StructX
  • Object
show all
Defined in:
lib/pione/rule-engine/flow-handler.rb

Instance Method Summary collapse

Instance Method Details

#digestObject

Return digest string of the task.



151
152
153
# File 'lib/pione/rule-engine/flow-handler.rb', line 151

def digest
  @__digest__ ||= Util::TaskDigest.generate(rule.package_id, rule.name, inputs, param_set)
end

#inspectObject Also known as: to_s



167
168
169
170
# File 'lib/pione/rule-engine/flow-handler.rb', line 167

def inspect
  args = [self.class, rule.package_id, rule.name, inputs, param_set, order]
  "#<%s package_id=%s, name=%s, inputs=%s, param_set=%s, order=%s>" % args
end

#make_task_process_recordObject

Return task process record of the task.



156
157
158
159
160
161
162
163
164
165
# File 'lib/pione/rule-engine/flow-handler.rb', line 156

def make_task_process_record
  Log::TaskProcessRecord.new.tap do |record|
    record.name = digest
    record.package_id = rule.package_id
    record.rule_name = rule.name
    record.rule_type = rule_definition.rule_type
    record.inputs = inputs.flatten.map{|input| input.name}.join(",")
    record.parameters = param_set.textize
  end
end

#make_tuple(caller_id) ⇒ Object

Make a task tuple from the application.



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/pione/rule-engine/flow-handler.rb', line 134

def make_tuple(caller_id)
  features = rule_condition.features.inject(Lang::FeatureSequence.new) do |f, expr|
    f + expr.eval(env)
  end
  TupleSpace::TaskTuple.new(
    digest,
    rule.package_id,
    rule.name,
    inputs,
    param_set,
    features,
    domain_id,
    caller_id
  )
end