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` 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