Sha256: 7d6cd62c7be408aabbb57c20756081e124dabdedcbb0298effbba816ff382ee5
Contents?: true
Size: 985 Bytes
Versions: 1
Compression:
Stored size: 985 Bytes
Contents
# frozen_string_literal: true module Xip class ServiceReply attr_accessor :recipient_id, :replies, :yaml_reply, :context def initialize(recipient_id:, yaml_reply:, context:, preprocessor: :none) @recipient_id = recipient_id @yaml_reply = yaml_reply @context = context processed_reply = case preprocessor when :erb preprocess_erb when :none @yaml_reply end if yaml_reply.is_a?(Array) @replies = load_replies(@yaml_reply) else @replies = load_replies(YAML.load(processed_reply)) end end private def load_replies(unstructured_replies) unstructured_replies.collect do |reply| Xip::Reply.new(unstructured_reply: reply) end end def preprocess_erb begin ERB.new(yaml_reply).result(context) rescue NameError => e raise(Xip::Errors::UndefinedVariable, e.message) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xip-2.0.0.beta2 | lib/xip/service_reply.rb |