module Sinatra::EngineTracking

Adds methods like `haml?` that allow helper methods to check whether they are called from within a template.

Attributes

current_engine[R]

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/sinatra/engine_tracking.rb, line 112
def initialize(*)
  @current_engine = :ruby
  super
end

Public Instance Methods

builder?() click to toggle source

@return [Boolean] Returns true if current engine is `:builder`.

# File lib/sinatra/engine_tracking.rb, line 53
def builder?
  @current_engine == :builder
end
coffee?() click to toggle source

@return [Boolean] Returns true if current engine is `:coffee`.

# File lib/sinatra/engine_tracking.rb, line 88
def coffee?
  @current_engine == :coffee
end
creole?() click to toggle source

@return [Boolean] Returns true if current engine is `:creole`.

# File lib/sinatra/engine_tracking.rb, line 103
def creole?
  @current_engine == :creole
end
erb?() click to toggle source

@return [Boolean] Returns true if current engine is `:erb`.

# File lib/sinatra/engine_tracking.rb, line 10
def erb?
  @current_engine == :erb
end
erubi?() click to toggle source

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
erubis?() click to toggle source

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
haml?() click to toggle source

@return [Boolean] Returns true if current engine is `:haml`.

# File lib/sinatra/engine_tracking.rb, line 33
def haml?
  @current_engine == :haml
end
less?() click to toggle source

@return [Boolean] Returns true if current engine is `:less`.

# File lib/sinatra/engine_tracking.rb, line 48
def less?
  @current_engine == :less
end
liquid?() click to toggle source

@return [Boolean] Returns true if current engine is `:liquid`.

# File lib/sinatra/engine_tracking.rb, line 58
def liquid?
  @current_engine == :liquid
end
markaby?() click to toggle source

@return [Boolean] Returns true if current engine is `:markaby`.

# File lib/sinatra/engine_tracking.rb, line 83
def markaby?
  @current_engine == :markaby
end
markdown?() click to toggle source

@return [Boolean] Returns true if current engine is `:markdown`.

# File lib/sinatra/engine_tracking.rb, line 63
def markdown?
  @current_engine == :markdown
end
nokogiri?() click to toggle source

@return [Boolean] Returns true if current engine is `:nokogiri`.

# File lib/sinatra/engine_tracking.rb, line 93
def nokogiri?
  @current_engine == :nokogiri
end
radius?() click to toggle source

@return [Boolean] Returns true if current engine is `:radius.

# File lib/sinatra/engine_tracking.rb, line 78
def radius?
  @current_engine == :radius
end
rdoc?() click to toggle source

@return [Boolean] Returns true if current engine is `:rdoc`.

# File lib/sinatra/engine_tracking.rb, line 73
def rdoc?
  @current_engine == :rdoc
end
ruby?() click to toggle source

@return [Boolean] Returns true if current engine is `:ruby`.

# File lib/sinatra/engine_tracking.rb, line 108
def ruby?
  @current_engine == :ruby
end
sass?() click to toggle source

@return [Boolean] Returns true if current engine is `:sass`.

# File lib/sinatra/engine_tracking.rb, line 38
def sass?
  @current_engine == :sass
end
scss?() click to toggle source

@return [Boolean] Returns true if current engine is `:scss`.

# File lib/sinatra/engine_tracking.rb, line 43
def scss?
  @current_engine == :scss
end
slim?() click to toggle source

@return [Boolean] Returns true if current engine is `:slim`.

# File lib/sinatra/engine_tracking.rb, line 98
def slim?
  @current_engine == :slim
end
textile?() click to toggle source

@return [Boolean] Returns true if current engine is `:textile.

# File lib/sinatra/engine_tracking.rb, line 68
def textile?
  @current_engine == :textile
end
with_engine(engine) { || ... } click to toggle source

@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

render(engine, *) click to toggle source
Calls superclass method
# File lib/sinatra/engine_tracking.rb, line 127
def render(engine, *)
  with_engine(engine) { super }
end