Sha256: 35c5d42030f0d76e910f89f0e79870a62a9caf1e0e96c9fe0e0dc98c64c18169
Contents?: true
Size: 886 Bytes
Versions: 2
Compression:
Stored size: 886 Bytes
Contents
# frozen_string_literal: true ActionView::Base.class_eval do def capture(*args) value = nil buffer = with_output_buffer { value = yield(*args) } # Override to handle Arbre elements inside helper blocks. # See https://github.com/rails/rails/issues/17661 # and https://github.com/rails/rails/pull/18024#commitcomment-8975180 value = value.to_s if value.is_a?(Arbre::Element) if (string = buffer.presence || value) && string.is_a?(String) ERB::Util.html_escape string end end end module Arbre module Rails class TemplateHandler def call(template, source = nil) source = template.source unless source <<-END Arbre::Context.new(assigns, self) { #{source} }.to_s END end end end end ActionView::Template.register_template_handler :arb, Arbre::Rails::TemplateHandler.new
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
arbre-1.2.0 | lib/arbre/rails/template_handler.rb |
arbre-1.2.0.rc1 | lib/arbre/rails/template_handler.rb |