File: engine_tracking.rb

package info (click to toggle)
ruby-sinatra-contrib 1.4.2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 552 kB
  • ctags: 365
  • sloc: ruby: 4,604; makefile: 2
file content (96 lines) | stat: -rw-r--r-- 1,472 bytes parent folder | download | duplicates (3)
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