Sha256: 70696078df996683cee48a767765a69208ade6c3ffdedfd280330708a8101637
Contents?: true
Size: 1.38 KB
Versions: 4
Compression:
Stored size: 1.38 KB
Contents
require "active_support/core_ext/string/output_safety" module Serbea module Helpers def self.included(mod) Serbea::Pipeline.deny_value_method %i(escape h prepend append assign_to) end def capture(obj = nil, &block) previous_buffer_state = @_erbout @_erbout = Serbea::Buffer.new # For compatibility with ActionView, not used by Bridgetown normally previous_ob_state = @output_buffer @output_buffer = Serbea::Buffer.new result = instance_exec(obj, &block) if @output_buffer != "" # use Rails' ActionView buffer if present result = @output_buffer end @_erbout = previous_buffer_state @output_buffer = previous_ob_state result.html_safe end def pipeline(context, value) Pipeline.new(context, value) end def helper(name, &block) self.class.send(:define_method, name, &block) end def h(input) ERB::Util.h(input.to_s) end alias_method :escape, :h def safe(input) input.to_s.html_safe end alias_method :raw, :safe def prepend(old_string, new_string) "#{new_string}#{old_string}" end def append(old_string, new_string) "#{old_string}#{new_string}" end def assign_to(input, varname, preserve: false) self.instance_variable_set("@#{varname}", input) preserve ? input : nil end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
serbea-0.6.3 | lib/serbea/helpers.rb |
serbea-0.6.2 | lib/serbea/helpers.rb |
serbea-0.6.1 | lib/serbea/helpers.rb |
serbea-0.6.0 | lib/serbea/helpers.rb |