Sha256: 9685d0aa0cbf79c11dddb0a9431fd1b66d51d8990f3daabc9b4f493b8723ab70
Contents?: true
Size: 1.44 KB
Versions: 2
Compression:
Stored size: 1.44 KB
Contents
Ramaze.setup(:verbose => false) do gem 'tagz' end module Ramaze module View module Tagz def self.call(action, string) return string, 'text/html' unless action.view markup = "tagz{#{string}}" action.instance.extend(Ramaze::View::Tagz::Methods) binding = action.binding html = eval(markup, binding, action.view) return html, 'text/html' end # A host of methods useful inside the context of a view including print # style methods that output content rather that printing to $stdout. module Methods include ::Tagz private def <<(s) tagz << s; self end def concat(*a) a.each{|s| tagz << s}; self end def puts(*a) a.each{|elem| tagz << "#{ elem.to_s.chomp }#{ eol }"} end def print(*a) a.each{|elem| tagz << elem} end def p(*a) a.each do |elem| tagz << "#{ Rack::Utils.escape_html elem.inspect }#{ eol }" end end def pp(*a) a.each do |elem| tagz << "#{ Rack::Utils.escape_html PP.pp(elem, '') }#{ eol }" end end def eol if response.content_type =~ %r|text/plain|io "\n" else "<br />" end end def __(*a) concat eol end end end # Tagz end # View end # Ramaze
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ramaze-2012.04.14 | lib/ramaze/view/tagz.rb |
ramaze-2012.03.07 | lib/ramaze/view/tagz.rb |