Module: Sinatra::EngineTracking

Included in:
Capture
Defined in:
lib/sinatra/engine_tracking.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#current_engineObject (readonly)

Returns the value of attribute current_engine.



7
8
9
# File 'lib/sinatra/engine_tracking.rb', line 7

def current_engine
  @current_engine
end

Instance Method Details

#builder?Boolean

Returns true if current engine is :builder.

Returns:

  • (Boolean)

    Returns true if current engine is :builder.



44
45
46
# File 'lib/sinatra/engine_tracking.rb', line 44

def builder?
  @current_engine == :builder
end

#coffee?Boolean

Returns true if current engine is :coffee.

Returns:

  • (Boolean)

    Returns true if current engine is :coffee.



79
80
81
# File 'lib/sinatra/engine_tracking.rb', line 79

def coffee?
  @current_engine == :coffee
end

#creole?Boolean

Returns true if current engine is :creole.

Returns:

  • (Boolean)

    Returns true if current engine is :creole.



94
95
96
# File 'lib/sinatra/engine_tracking.rb', line 94

def creole?
  @current_engine == :creole
end

#erb?Boolean

Returns true if current engine is :erb.

Returns:

  • (Boolean)

    Returns true if current engine is :erb.



10
11
12
# File 'lib/sinatra/engine_tracking.rb', line 10

def erb?
  @current_engine == :erb
end

#erubis?Boolean

Returns true if the current engine is :erubis, or Tilt[:erb] is set to Tilt::ErubisTemplate.

Returns:

  • (Boolean)

    Returns true if current engine is :erubis.



18
19
20
21
# File 'lib/sinatra/engine_tracking.rb', line 18

def erubis?
  @current_engine == :erubis or
  erb? && Tilt[:erb] == Tilt::ErubisTemplate
end

#haml?Boolean

Returns true if current engine is :haml.

Returns:

  • (Boolean)

    Returns true if current engine is :haml.



24
25
26
# File 'lib/sinatra/engine_tracking.rb', line 24

def haml?
  @current_engine == :haml
end

#initializeObject



98
99
100
101
# File 'lib/sinatra/engine_tracking.rb', line 98

def initialize(*)
  @current_engine = :ruby
  super
end

#less?Boolean

Returns true if current engine is :less.

Returns:

  • (Boolean)

    Returns true if current engine is :less.



39
40
41
# File 'lib/sinatra/engine_tracking.rb', line 39

def less?
  @current_engine == :less
end

#liquid?Boolean

Returns true if current engine is :liquid.

Returns:

  • (Boolean)

    Returns true if current engine is :liquid.



49
50
51
# File 'lib/sinatra/engine_tracking.rb', line 49

def liquid?
  @current_engine == :liquid
end

#markaby?Boolean

Returns true if current engine is :markaby.

Returns:

  • (Boolean)

    Returns true if current engine is :markaby.



74
75
76
# File 'lib/sinatra/engine_tracking.rb', line 74

def markaby?
  @current_engine == :markaby
end

#markdown?Boolean

Returns true if current engine is :markdown.

Returns:

  • (Boolean)

    Returns true if current engine is :markdown.



54
55
56
# File 'lib/sinatra/engine_tracking.rb', line 54

def markdown?
  @current_engine == :markdown
end

#nokogiri?Boolean

Returns true if current engine is :nokogiri.

Returns:

  • (Boolean)

    Returns true if current engine is :nokogiri.



84
85
86
# File 'lib/sinatra/engine_tracking.rb', line 84

def nokogiri?
  @current_engine == :nokogiri
end

#radius?Boolean

Returns true if current engine is ‘:radius.

Returns:

  • (Boolean)

    Returns true if current engine is ‘:radius.



69
70
71
# File 'lib/sinatra/engine_tracking.rb', line 69

def radius?
  @current_engine == :radius
end

#rdoc?Boolean

Returns true if current engine is :rdoc.

Returns:

  • (Boolean)

    Returns true if current engine is :rdoc.



64
65
66
# File 'lib/sinatra/engine_tracking.rb', line 64

def rdoc?
  @current_engine == :rdoc
end

#sass?Boolean

Returns true if current engine is :sass.

Returns:

  • (Boolean)

    Returns true if current engine is :sass.



29
30
31
# File 'lib/sinatra/engine_tracking.rb', line 29

def sass?
  @current_engine == :sass
end

#scss?Boolean

Returns true if current engine is :scss.

Returns:

  • (Boolean)

    Returns true if current engine is :scss.



34
35
36
# File 'lib/sinatra/engine_tracking.rb', line 34

def scss?
  @current_engine == :scss
end

#slim?Boolean

Returns true if current engine is :slim.

Returns:

  • (Boolean)

    Returns true if current engine is :slim.



89
90
91
# File 'lib/sinatra/engine_tracking.rb', line 89

def slim?
  @current_engine == :slim
end

#textile?Boolean

Returns true if current engine is ‘:textile.

Returns:

  • (Boolean)

    Returns true if current engine is ‘:textile.



59
60
61
# File 'lib/sinatra/engine_tracking.rb', line 59

def textile?
  @current_engine == :textile
end

#with_engine(engine) ⇒ Object

Parameters:

  • engine (Symbol, String)

    Name of Engine to shift to.



104
105
106
107
108
109
# File 'lib/sinatra/engine_tracking.rb', line 104

def with_engine(engine)
  @current_engine, engine_was = engine.to_sym, @current_engine
  yield
ensure
  @current_engine = engine_was
end