module Sinatra::EngineTracking
Adds methods like `haml?` that allow helper methods to check whether they are called from within a template.
Attributes
Public Class Methods
# File lib/sinatra/engine_tracking.rb, line 112 def initialize(*) @current_engine = :ruby super end
Public Instance Methods
@return [Boolean] Returns true if current engine is `:builder`.
# File lib/sinatra/engine_tracking.rb, line 53 def builder? @current_engine == :builder end
@return [Boolean] Returns true if current engine is `:coffee`.
# File lib/sinatra/engine_tracking.rb, line 88 def coffee? @current_engine == :coffee end
@return [Boolean] Returns true if current engine is `:creole`.
# File lib/sinatra/engine_tracking.rb, line 103 def creole? @current_engine == :creole end
@return [Boolean] Returns true if current engine is `:erb`.
# File lib/sinatra/engine_tracking.rb, line 10 def erb? @current_engine == :erb end
Returns true if the current engine is `:erubi`, or `Tilt` is set to Tilt::ErubisTemplate.
@return [Boolean] Returns true if current engine is `:erubi`.
# File lib/sinatra/engine_tracking.rb, line 18 def erubi? @current_engine == :erubi or erb? && Tilt[:erb] == Tilt::ErubiTemplate end
Returns true if the current engine is `:erubis`, or `Tilt` is set to Tilt::ErubisTemplate.
@return [Boolean] Returns true if current engine is `:erubis`.
# File lib/sinatra/engine_tracking.rb, line 27 def erubis? @current_engine == :erubis or erb? && Tilt[:erb] == Tilt::ErubisTemplate end
@return [Boolean] Returns true if current engine is `:haml`.
# File lib/sinatra/engine_tracking.rb, line 33 def haml? @current_engine == :haml end
@return [Boolean] Returns true if current engine is `:less`.
# File lib/sinatra/engine_tracking.rb, line 48 def less? @current_engine == :less end
@return [Boolean] Returns true if current engine is `:liquid`.
# File lib/sinatra/engine_tracking.rb, line 58 def liquid? @current_engine == :liquid end
@return [Boolean] Returns true if current engine is `:markaby`.
# File lib/sinatra/engine_tracking.rb, line 83 def markaby? @current_engine == :markaby end
@return [Boolean] Returns true if current engine is `:markdown`.
# File lib/sinatra/engine_tracking.rb, line 63 def markdown? @current_engine == :markdown end
@return [Boolean] Returns true if current engine is `:nokogiri`.
# File lib/sinatra/engine_tracking.rb, line 93 def nokogiri? @current_engine == :nokogiri end
@return [Boolean] Returns true if current engine is `:radius.
# File lib/sinatra/engine_tracking.rb, line 78 def radius? @current_engine == :radius end
@return [Boolean] Returns true if current engine is `:rdoc`.
# File lib/sinatra/engine_tracking.rb, line 73 def rdoc? @current_engine == :rdoc end
@return [Boolean] Returns true if current engine is `:ruby`.
# File lib/sinatra/engine_tracking.rb, line 108 def ruby? @current_engine == :ruby end
@return [Boolean] Returns true if current engine is `:sass`.
# File lib/sinatra/engine_tracking.rb, line 38 def sass? @current_engine == :sass end
@return [Boolean] Returns true if current engine is `:scss`.
# File lib/sinatra/engine_tracking.rb, line 43 def scss? @current_engine == :scss end
@return [Boolean] Returns true if current engine is `:slim`.
# File lib/sinatra/engine_tracking.rb, line 98 def slim? @current_engine == :slim end
@return [Boolean] Returns true if current engine is `:textile.
# File lib/sinatra/engine_tracking.rb, line 68 def textile? @current_engine == :textile end
@param engine [Symbol, String] Name of Engine to shift to.
# File lib/sinatra/engine_tracking.rb, line 118 def with_engine(engine) @current_engine, engine_was = engine.to_sym, @current_engine yield ensure @current_engine = engine_was end
Private Instance Methods
# File lib/sinatra/engine_tracking.rb, line 127 def render(engine, *) with_engine(engine) { super } end