1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
require 'sinatra/base'
module Sinatra
module EngineTracking
attr_reader :current_engine
def erb?
@current_engine == :erb
end
def erubis?
@current_engine == :erubis or
erb? && Tilt[:erb] == Tilt::ErubisTemplate
end
def haml?
@current_engine == :haml
end
def sass?
@current_engine == :sass
end
def scss?
@current_engine == :scss
end
def less?
@current_engine == :less
end
def builder?
@current_engine == :builder
end
def liquid?
@current_engine == :liquid
end
def markdown?
@current_engine == :markdown
end
def textile?
@current_engine == :textile
end
def rdoc?
@current_engine == :rdoc
end
def radius?
@current_engine == :radius
end
def markaby?
@current_engine == :markaby
end
def coffee?
@current_engine == :coffee
end
def nokogiri?
@current_engine == :nokogiri
end
def slim?
@current_engine == :slim
end
def creole?
@current_engine == :creole
end
def initialize(*)
@current_engine = :ruby
super
end
def with_engine(engine)
@current_engine, engine_was = engine.to_sym, @current_engine
yield
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
|