Module: DecisionAgent::Web::DmnEditor::Serialization
- Included in:
- DecisionAgent::Web::DmnEditor
- Defined in:
- lib/decision_agent/web/dmn_editor/serialization.rb
Instance Method Summary collapse
- #serialize_decision(decision) ⇒ Object
- #serialize_decision_table(table) ⇒ Object
- #serialize_input(input) ⇒ Object
- #serialize_model(model) ⇒ Object
- #serialize_output(output) ⇒ Object
- #serialize_rule(rule) ⇒ Object
Instance Method Details
#serialize_decision(decision) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/decision_agent/web/dmn_editor/serialization.rb', line 16 def serialize_decision(decision) result = { id: decision.id, name: decision.name } if decision.decision_table result[:decision_table] = serialize_decision_table(decision.decision_table) elsif decision.decision_tree result[:decision_tree] = decision.decision_tree.to_h elsif decision.instance_variable_get(:@literal_expression) result[:literal_expression] = decision.instance_variable_get(:@literal_expression) end result[:information_requirements] = decision.information_requirements if decision.information_requirements.any? result end |
#serialize_decision_table(table) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/decision_agent/web/dmn_editor/serialization.rb', line 35 def serialize_decision_table(table) { id: table.id, hit_policy: table.hit_policy, inputs: table.inputs.map { |i| serialize_input(i) }, outputs: table.outputs.map { |o| serialize_output(o) }, rules: table.rules.map { |r| serialize_rule(r) } } end |
#serialize_input(input) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/decision_agent/web/dmn_editor/serialization.rb', line 45 def serialize_input(input) { id: input.id, label: input.label, type_ref: input.type_ref, expression: input.expression } end |
#serialize_model(model) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/decision_agent/web/dmn_editor/serialization.rb', line 7 def serialize_model(model) { id: model.id, name: model.name, namespace: model.namespace, decisions: model.decisions.map { |d| serialize_decision(d) } } end |
#serialize_output(output) ⇒ Object
54 55 56 57 58 59 60 61 |
# File 'lib/decision_agent/web/dmn_editor/serialization.rb', line 54 def serialize_output(output) { id: output.id, label: output.label, type_ref: output.type_ref, name: output.name } end |
#serialize_rule(rule) ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/decision_agent/web/dmn_editor/serialization.rb', line 63 def serialize_rule(rule) { id: rule.id, input_entries: rule.input_entries, output_entries: rule.output_entries, description: rule.description } end |