Sha256: 0387728fd74e812785b7e3de1377049d8ab61c88b2b4936d83594bb45e764579
Contents?: true
Size: 714 Bytes
Versions: 12
Compression:
Stored size: 714 Bytes
Contents
# frozen_string_literal: true module Thredded module ViewHooks class Renderer # @param config [Thredded::ViewHooks::Config] def initialize(view_context, config) @view_context = view_context @config = config end # @return [String] def render(**args, &original_content) @view_context.safe_join [ *@config.before, *(@config.replace.presence || [original_content]), *@config.after, ].map { |proc| render_proc(**args, &proc) }, '' end private def render_proc(**args, &proc) @view_context.capture do @view_context.instance_exec(**args, &proc) end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems