module PlainSite::Tpl::ExtMethods
Public Instance Methods
echo_block(&block)
click to toggle source
# File lib/PlainSite/Tpl/ExtMethods.rb, line 11 def echo_block(&block) old=@_erbout_buf @_erbout_buf="" block.call block_content=@_erbout_buf.strip @_erbout_buf=old block_content end
iframe(attrs={},&block)
click to toggle source
# File lib/PlainSite/Tpl/ExtMethods.rb, line 25 def iframe(attrs={},&block) attrs[:width]=attrs[:width] || "100%" attrs[:height]=attrs[:height] || "100%" attrs= attrs.to_a.map do |a| k,v=a "#{k}=\"#{v}\"" end.join " " html=echo_block &block html=" <!DOCTYPE html> <html> <head> <title>IFrame</title> </head> <body>#{html}</body> </html> " html=html.to_json id='ID_'+(SecureRandom.uuid.gsub '-','') @_erbout_buf << " <iframe #{attrs} src='about:blank' id='#{id}'></iframe> <script> setTimeout(function () { document.getElementById('#{id}').contentWindow.document.write(#{html}) },0); </script> " end
raw(&block)
click to toggle source
# File lib/PlainSite/Tpl/ExtMethods.rb, line 20 def raw(&block) code=echo_block &block @_erbout_buf << (html_escape code) end
your_custom_template_method(&block)
click to toggle source
# File lib/PlainSite/_scaffold/_src/extensions/TplExt.rb, line 6 def your_custom_template_method(&block) """ <% your_custom_template_method do %> Echo! <% end %> """ code=echo_block &block @_erbout_buf << code end
your_mystery_tpl_method()
click to toggle source
# File lib/PlainSite/_scaffold/_src/extensions/TplExt.rb, line 16 def your_mystery_tpl_method """ <%=your_mystery_tpl_method%> """ "Mystery!" end