~michaelforrest/use-case-mapper/trunk

« back to all changes in this revision

Viewing changes to vendor/rails/railties/guides/rails_guides/textile_extensions.rb

  • Committer: Michael Forrest
  • Date: 2010-10-15 16:28:50 UTC
  • Revision ID: michael.forrest@canonical.com-20101015162850-tj2vchanv0kr0dun
refrozeĀ gems

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
module RailsGuides
 
2
  module TextileExtensions
 
3
    def notestuff(body)
 
4
      body.gsub!(/^(IMPORTANT|CAUTION|WARNING|NOTE|INFO)(?:\.|\:)(.*)$/) do |m|
 
5
        css_class = $1.downcase
 
6
        css_class = 'warning' if ['caution', 'important'].include?(css_class)
 
7
 
 
8
        result = "<div class='#{css_class}'><p>"
 
9
        result << $2.strip
 
10
        result << '</p></div>'
 
11
        result
 
12
      end
 
13
    end
 
14
 
 
15
    def tip(body)
 
16
      body.gsub!(/^(TIP)\:(.*)$/) do |m|
 
17
        result = "<div class='info'><p>"
 
18
        result << $2.strip
 
19
        result << '</p></div>'
 
20
        result
 
21
      end
 
22
    end
 
23
 
 
24
    def plusplus(body)
 
25
      body.gsub!(/\+(.*?)\+/) do |m|
 
26
        "<notextile><tt>#{$1}</tt></notextile>"
 
27
      end
 
28
 
 
29
      # The real plus sign
 
30
      body.gsub!('<plus>', '+')
 
31
    end
 
32
 
 
33
    def code(body)
 
34
      body.gsub!(%r{<(yaml|shell|ruby|erb|html|sql|plain)>(.*?)</\1>}m) do |m|
 
35
        es = ERB::Util.h($2)
 
36
        css_class = ['erb', 'shell'].include?($1) ? 'html' : $1
 
37
        %{<notextile><div class="code_container"><code class="#{css_class}">#{es}</code></div></notextile>}
 
38
      end
 
39
    end
 
40
  end
 
41
end