Sha256: e4ae66710d49c99bde86c2a618ae351bde94b520c89e04eb5c064b9e5eb40d33
Contents?: true
Size: 886 Bytes
Versions: 1
Compression:
Stored size: 886 Bytes
Contents
# frozen_string_literal: true module Floe class Workflow class PayloadTemplate def initialize(payload) @payload = payload end def value(context, inputs = {}) interpolate_value_nested(payload, context, inputs) end private attr_reader :payload def interpolate_value_nested(value, context, inputs) case value when Array value.map { |val| interpolate_value_nested(val, context, inputs) } when Hash value.to_h do |key, val| if key.end_with?(".$") [key.chomp(".$"), interpolate_value_nested(val, context, inputs)] else [key, val] end end when String value.start_with?("$") ? Path.value(value, context, inputs) : value else value end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
floe-0.3.0 | lib/floe/workflow/payload_template.rb |