malt 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. data/.ruby +156 -0
  2. data/Assembly +28 -0
  3. data/COPYING.rdoc +33 -0
  4. data/Gemfile +10 -0
  5. data/HISTORY.rdoc +102 -0
  6. data/README.rdoc +16 -10
  7. data/Reapfile +4 -0
  8. data/lib/malt.rb +36 -8
  9. data/lib/malt.yml +156 -0
  10. data/lib/malt/conversions.rb +42 -0
  11. data/lib/malt/core_ext.rb +81 -3
  12. data/lib/malt/engines/abstract.rb +259 -50
  13. data/lib/malt/engines/bluecloth.rb +19 -9
  14. data/lib/malt/engines/builder.rb +93 -32
  15. data/lib/malt/engines/coffee.rb +46 -0
  16. data/lib/malt/engines/creole.rb +60 -0
  17. data/lib/malt/engines/erb.rb +69 -44
  18. data/lib/malt/engines/erector.rb +61 -30
  19. data/lib/malt/engines/erubis.rb +41 -31
  20. data/lib/malt/engines/haml.rb +13 -37
  21. data/lib/malt/engines/kramdown.rb +40 -15
  22. data/lib/malt/engines/less.rb +15 -14
  23. data/lib/malt/engines/liquid.rb +24 -14
  24. data/lib/malt/engines/markaby.rb +44 -22
  25. data/lib/malt/engines/maruku.rb +89 -0
  26. data/lib/malt/engines/mustache.rb +20 -14
  27. data/lib/malt/engines/nokogiri.rb +89 -0
  28. data/lib/malt/engines/radius.rb +72 -34
  29. data/lib/malt/engines/ragtag.rb +26 -18
  30. data/lib/malt/engines/rdiscount.rb +18 -11
  31. data/lib/malt/engines/rdoc.rb +21 -15
  32. data/lib/malt/engines/redcarpet.rb +137 -0
  33. data/lib/malt/engines/redcloth.rb +15 -7
  34. data/lib/malt/engines/ruby.rb +13 -12
  35. data/lib/malt/engines/sass.rb +30 -17
  36. data/lib/malt/engines/string.rb +36 -0
  37. data/lib/malt/engines/tenjin.rb +70 -27
  38. data/lib/malt/engines/wikicloth.rb +48 -0
  39. data/lib/malt/formats/abstract.rb +90 -29
  40. data/lib/malt/formats/abstract_template.rb +10 -8
  41. data/lib/malt/formats/builder.rb +39 -13
  42. data/lib/malt/formats/coffee.rb +54 -0
  43. data/lib/malt/formats/css.rb +3 -3
  44. data/lib/malt/formats/erb.rb +31 -66
  45. data/lib/malt/formats/haml.rb +8 -8
  46. data/lib/malt/formats/html.rb +1 -7
  47. data/lib/malt/formats/javascript.rb +27 -0
  48. data/lib/malt/formats/latex.rb +1 -1
  49. data/lib/malt/formats/less.rb +13 -11
  50. data/lib/malt/formats/liquid.rb +7 -7
  51. data/lib/malt/formats/markdown.rb +43 -44
  52. data/lib/malt/formats/mediawiki.rb +70 -0
  53. data/lib/malt/formats/mustache.rb +5 -5
  54. data/lib/malt/formats/pdf.rb +1 -7
  55. data/lib/malt/formats/radius.rb +5 -4
  56. data/lib/malt/formats/ragtag.rb +14 -13
  57. data/lib/malt/formats/rbhtml.rb +28 -20
  58. data/lib/malt/formats/rdoc.rb +5 -4
  59. data/lib/malt/formats/rhtml.rb +19 -43
  60. data/lib/malt/formats/ruby.rb +11 -45
  61. data/lib/malt/formats/sass.rb +16 -24
  62. data/lib/malt/formats/scss.rb +13 -30
  63. data/lib/malt/formats/string.rb +61 -0
  64. data/lib/malt/formats/tenjin.rb +4 -4
  65. data/lib/malt/formats/text.rb +1 -1
  66. data/lib/malt/formats/textile.rb +7 -19
  67. data/lib/malt/kernel.rb +1 -2
  68. data/lib/malt/machine.rb +83 -13
  69. data/lib/malt/tilted.rb +216 -0
  70. data/lib/malt/version.rb +21 -0
  71. data/test/helper.rb +15 -0
  72. data/test/unit/engines/case_engine_bluecloth.rb +40 -0
  73. data/test/unit/engines/case_engine_builder.rb +30 -0
  74. data/test/unit/engines/case_engine_coffee.rb +30 -0
  75. data/test/unit/engines/case_engine_creole.rb +35 -0
  76. data/test/unit/engines/case_engine_erb.rb +28 -0
  77. data/test/unit/engines/case_engine_erector.rb +36 -0
  78. data/test/unit/engines/case_engine_erubis.rb +28 -0
  79. data/test/unit/engines/case_engine_haml.rb +30 -0
  80. data/test/unit/engines/case_engine_kramdown.rb +30 -0
  81. data/test/unit/engines/case_engine_less.rb +40 -0
  82. data/test/unit/engines/case_engine_liquid.rb +28 -0
  83. data/test/unit/engines/case_engine_markaby.rb +20 -0
  84. data/test/unit/engines/case_engine_maruku.rb +30 -0
  85. data/test/unit/engines/case_engine_mustache.rb +28 -0
  86. data/test/unit/engines/case_engine_nokogiri.rb +30 -0
  87. data/test/unit/engines/case_engine_radius.rb +30 -0
  88. data/test/unit/engines/case_engine_ragtag.rb +40 -0
  89. data/test/unit/engines/case_engine_rdiscount.rb +30 -0
  90. data/test/unit/engines/case_engine_rdoc.rb +31 -0
  91. data/test/unit/engines/case_engine_redcarpet.rb +30 -0
  92. data/test/unit/engines/case_engine_redcloth.rb +31 -0
  93. data/test/unit/engines/case_engine_ruby.rb +28 -0
  94. data/test/unit/engines/case_engine_sass.rb +36 -0
  95. data/test/unit/engines/case_engine_string.rb +28 -0
  96. data/test/unit/engines/case_engine_tenjin.rb +28 -0
  97. data/test/unit/engines/case_engine_wikicloth.rb +25 -0
  98. data/test/unit/machine.rb +27 -0
  99. data/test/unit/malt.rb +12 -0
  100. metadata +364 -266
  101. data/History.rdoc +0 -64
  102. data/License.txt +0 -205
  103. data/Syckfile +0 -80
  104. data/features/consistent_rendering.feature +0 -36
  105. data/features/samples/sample.erb +0 -1
  106. data/features/samples/sample.erubis +0 -1
  107. data/features/samples/sample.liquid +0 -1
  108. data/features/samples/sample.mustache +0 -1
  109. data/features/samples/sample.radius +0 -1
  110. data/features/step_definitions/engine_steps.rb +0 -49
  111. data/features/support/loadpath.rb +0 -1
  112. data/features/support/sample_class.rb +0 -8
  113. data/lib/malt/formats/erector.rb +0 -53
  114. data/lib/malt/formats/markaby.rb +0 -53
  115. data/lib/malt/meta/data.rb +0 -26
  116. data/lib/malt/meta/package +0 -21
  117. data/lib/malt/meta/profile +0 -21
  118. data/meta/data.rb +0 -26
  119. data/meta/package +0 -21
  120. data/meta/profile +0 -21
  121. data/qed/01_overview.rdoc +0 -8
  122. data/qed/02_formats.rdoc +0 -39
  123. data/qed/03_formats/01_overview.rdoc +0 -7
  124. data/qed/03_formats/02_rdoc.rdoc +0 -83
  125. data/qed/03_formats/03_textile.rdoc +0 -48
  126. data/qed/03_formats/04_markdown.rdoc +0 -66
  127. data/qed/03_formats/05_erb.rdoc +0 -65
  128. data/qed/03_formats/06_liquid.rdoc +0 -54
  129. data/qed/03_formats/07_haml.rdoc +0 -44
  130. data/qed/03_formats/08_ragtag.rdoc +0 -19
  131. data/qed/03_formats/09_radius.rdoc +0 -43
  132. data/qed/03_formats/11_tenjin.rdoc +0 -47
  133. data/qed/03_formats/12_rbhtml.rdoc +0 -55
  134. data/qed/03_formats/13_sass.rdoc +0 -55
  135. data/qed/03_formats/14_scss.rdoc +0 -58
  136. data/qed/03_formats/15_less.rdoc +0 -46
  137. data/qed/03_formats/16_ruby.rdoc +0 -48
  138. data/qed/03_formats/17_markaby.rdoc +0 -50
  139. data/qed/03_formats/18_builder.rb +0 -50
  140. data/qed/03_formats/19_erector.rb +0 -50
  141. data/qed/03_formats/20_mustache.rdoc +0 -54
  142. data/qed/05_machine/01_limited_formats.rdoc +0 -29
  143. data/qed/05_machine/02_prioritized_engines.rdoc +0 -34
  144. data/qed/applique/malt.rb +0 -13
  145. data/qed/samples/data.yml +0 -4
  146. data/qed/samples/output-erb.txt +0 -1
  147. data/qed/samples/output-liquid.txt +0 -1
  148. data/qed/samples/output-mustache.txt +0 -1
  149. data/qed/samples/output-radius.txt +0 -1
  150. data/qed/samples/sample.erb +0 -1
  151. data/qed/samples/sample.liquid +0 -1
  152. data/qed/samples/sample.markdown +0 -308
  153. data/qed/samples/sample.mustache +0 -1
  154. data/qed/samples/sample.radius +0 -1
  155. data/qed/samples/sample.rdoc +0 -8
data/.ruby ADDED
@@ -0,0 +1,156 @@
1
+ ---
2
+ source:
3
+ - var
4
+ authors:
5
+ - name: trans
6
+ email: transfire@gmail.com
7
+ copyrights:
8
+ - holder: Rubyworks
9
+ year: '2010'
10
+ license: BSD-2-Clause
11
+ replacements: []
12
+ alternatives: []
13
+ requirements:
14
+ - name: blankslate
15
+ - name: detroit
16
+ groups:
17
+ - build
18
+ development: true
19
+ - name: qed
20
+ groups:
21
+ - test
22
+ development: true
23
+ - name: test
24
+ groups:
25
+ - test
26
+ development: true
27
+ - name: lemon
28
+ groups:
29
+ - test
30
+ development: true
31
+ - name: ae
32
+ groups:
33
+ - test
34
+ development: true
35
+ - name: rdoc
36
+ version: 3+
37
+ groups:
38
+ - test
39
+ development: true
40
+ - name: RedCloth
41
+ groups:
42
+ - test
43
+ development: true
44
+ - name: bluecloth
45
+ groups:
46
+ - test
47
+ development: true
48
+ - name: kramdown
49
+ groups:
50
+ - test
51
+ development: true
52
+ - name: rdiscount
53
+ groups:
54
+ - test
55
+ development: true
56
+ - name: haml
57
+ groups:
58
+ - test
59
+ development: true
60
+ - name: sass
61
+ groups:
62
+ - test
63
+ development: true
64
+ - name: less
65
+ groups:
66
+ - test
67
+ development: true
68
+ - name: tenjin
69
+ groups:
70
+ - test
71
+ development: true
72
+ - name: rtals
73
+ groups:
74
+ - test
75
+ development: true
76
+ - name: liquid
77
+ groups:
78
+ - test
79
+ development: true
80
+ - name: erubis
81
+ groups:
82
+ - test
83
+ development: true
84
+ - name: mustache
85
+ groups:
86
+ - test
87
+ development: true
88
+ - name: markaby
89
+ groups:
90
+ - test
91
+ development: true
92
+ - name: builder
93
+ groups:
94
+ - test
95
+ development: true
96
+ - name: radius
97
+ groups:
98
+ - test
99
+ development: true
100
+ - name: ragtag
101
+ groups:
102
+ - test
103
+ development: true
104
+ - name: redcarpet
105
+ groups:
106
+ - test
107
+ development: true
108
+ - name: wikicloth
109
+ groups:
110
+ - test
111
+ development: true
112
+ - name: maruku
113
+ groups:
114
+ - test
115
+ development: true
116
+ - name: creole
117
+ groups:
118
+ - test
119
+ development: true
120
+ - name: erector
121
+ groups:
122
+ - test
123
+ development: true
124
+ - name: active_support
125
+ groups:
126
+ - test
127
+ development: true
128
+ - name: coffee-script
129
+ groups:
130
+ - test
131
+ development: true
132
+ dependencies: []
133
+ conflicts: []
134
+ repositories:
135
+ - uri: git@github.com:rubyworks/malt.git
136
+ scm: git
137
+ name: upstream
138
+ resources:
139
+ home: http://rubyworks.github.com/malt
140
+ code: http://github.com/rubyworks/malt
141
+ wiki: http://wiki.github.com/rubyworks/malt
142
+ docs: http://rubyworks.github.com/malt/docs/api
143
+ bugs: http://github.com/rubyworks/malt/issues
144
+ extra: {}
145
+ load_path:
146
+ - lib
147
+ revision: 0
148
+ created: '2010-06-22'
149
+ summary: Multi-template/multi-markup rendering engine
150
+ title: Malt
151
+ version: 0.4.0
152
+ name: malt
153
+ description: Malt provides a factory framework for rendering a variety of template
154
+ and markup document formats.
155
+ organization: rubyworks
156
+ date: '2011-11-26'
@@ -0,0 +1,28 @@
1
+ ---
2
+ gem:
3
+ active: true
4
+
5
+ github:
6
+ gh_pages: web
7
+
8
+ dnote:
9
+ labels: ~
10
+ output: log/notes.html
11
+
12
+ qedoc:
13
+ title: Malt Demonstrandum
14
+ output: web/qed.html
15
+
16
+ email:
17
+ mailto:
18
+ - ruby-talk@ruby-lang.org
19
+ - rubyworks-mailinglist@googlegroups.com
20
+
21
+ locat:
22
+ output: log/locat.html
23
+
24
+ vclog:
25
+ output:
26
+ - log/changes.html
27
+ - log/history.html
28
+
@@ -0,0 +1,33 @@
1
+ = COPYRIGHT NOTICES
2
+
3
+ == Malt
4
+
5
+ Copyright:: (c) 2010 Rubyworks
6
+ License:: BSD-2-Clause
7
+ Website:: http://rubyworks.github.com/malt
8
+
9
+ Malt - Multi-Template
10
+
11
+ Copyright 2010 Rubyworks. All rights reserved.
12
+
13
+ Redistribution and use in source and binary forms, with or without
14
+ modification, are permitted provided that the following conditions are met:
15
+
16
+ 1. Redistributions of source code must retain the above copyright notice,
17
+ this list of conditions and the following disclaimer.
18
+
19
+ 2. Redistributions in binary form must reproduce the above copyright
20
+ notice, this list of conditions and the following disclaimer in the
21
+ documentation and/or other materials provided with the distribution.
22
+
23
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
24
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
25
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
+ COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
30
+ OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
+
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source :rubygems
2
+ gemspec
3
+
4
+ ## JRuby can't compile libv8 which both less and coffee-script gems depend.
5
+ #if defined?(RUBY_ENGINE)
6
+ # if RUBY_ENGINE == 'jruby'
7
+ # @dependencies.reject!{ |d| d.name == 'less' or d.name == 'coffee-script' }
8
+ # end
9
+ #end
10
+
@@ -0,0 +1,102 @@
1
+ = Release History
2
+
3
+ == 0.4.0 | 2011-11-27
4
+
5
+ This release of Malt is a major improvement over the previous release.
6
+ Where as before not all formats behaved consistently --for instance,
7
+ not all templating engines handled block yielding, this release has
8
+ ensured consistent functionality across all engines. A couple of
9
+ significant changes were made to do this.
10
+
11
+ Most important to the end user, templating formats can no longer
12
+ use `yield` to insert block content, but rather must use `content`.
13
+ This was done to avoid unnecessary implementation complexity due
14
+ to Ruby's limitation on the use of yield within Proc objects.
15
+ The code is much cleaner and subsequently more robust thanks to
16
+ this change.
17
+
18
+ The builder-style engines (Builder, Markaby, Erector and Nokogiri)
19
+ have all been united under a single `Builder` format class. The
20
+ common extension for such files is `.rbml`. These engines have been
21
+ tweaked to behave uniformly, supporting explicit and implicit
22
+ evaluation modes and using instance variables and externalized
23
+ scope.
24
+
25
+ In addition to these changes, a few new formats/engines have been
26
+ added, including Creole, Maruku, WikiCloth, CoffeeScript and
27
+ Nokogiri Builder.
28
+
29
+ Changes:
30
+
31
+ * Add Creole, Maruku and WikiCloth markup engine/formats.
32
+ * Add CoffeeScript transpiler engine/formats.
33
+ * Add Nokogiri Builder format.
34
+ * Support `scope and `locals` style data, as well as `data` option.
35
+ * Unified builder engines under one .rbml/.builder format.
36
+ * Use #content instead of #yield for block content!
37
+ * Add :multi option for multi-format rendering.
38
+ * Overhaul internal engine API, for better overall design.
39
+ * Formats delegate to master Malt.render method.
40
+
41
+
42
+ == 0.3.0 | 2010-11-04
43
+
44
+ New release adds a Malt::Machine class that encapsulates all
45
+ Malt's class level functionality. This allow Malt to be
46
+ be more finally controlled. For example an instance of
47
+ Malt::Machine can be used to limit rendering to a select
48
+ set of formats.
49
+
50
+ Changes:
51
+
52
+ * Add Machine class to encapsulate toplevel functions.
53
+ * Add feature via Machine options to select available formats.
54
+ * Add `#to_default` to for converting to default format.
55
+ * Add `Malt.engine?` to test for supported engine types.
56
+ * Rename `Malt.support?` to `Malt.format?`.
57
+ * Rename `Malt.main` to `Malt.cli`.
58
+
59
+
60
+ == 0.2.0 | 2010-10-22
61
+
62
+ Malt now support Erector, Markaby, Builder and Mustache templates.
63
+ Erector, Markaby and Builder are Ruby-based formats --templates
64
+ are simply Ruby code. This requires them to use instance variables
65
+ in templates rather than local variables/methods. Something to keep
66
+ in mind.
67
+
68
+ Changes:
69
+
70
+ * Add support for Erector templates.
71
+ * Add support for Markaby templates.
72
+ * Add support for Builder templates.
73
+ * Add support for Mustache templates.
74
+ * Add `:pass` option to render method.
75
+ * Rename `:format` option to `:to` for render method.
76
+
77
+
78
+ == 0.1.1 | 2010-09-21
79
+
80
+ This release simple fixes two bugs. One to handle variant arity
81
+ in format class #render methods. Currently the interface can vary
82
+ dependent on whether they accept interpolation data or not (this will
83
+ probably be uniform in the future). The other fix raises an error if
84
+ no engine exists to handle a given format.
85
+
86
+ Changes:
87
+
88
+ * Bug fix to raise error if format not handled by any engine.
89
+ * Bug fix to underlying #render calls to handle variant arities.
90
+
91
+
92
+ == 0.1.0 | 2010-08-23
93
+
94
+ This if the initial release of Malt. I have no doubt the code base
95
+ still needs some fine-tuning --hence the 0.1 version, but I have put
96
+ it to good use with the latest version of Brite, my static website
97
+ generator, so I know that it is at least is a working state.
98
+
99
+ Changes:
100
+
101
+ * Initial release.
102
+
@@ -1,7 +1,10 @@
1
1
  = Malt
2
2
 
3
- * home: http://rubyworks.github.com/malt
4
- * code: http://github.com/rubyworks/malt
3
+ {Homepage}[http://rubyworks.github.com/malt] |
4
+ {Development}[http://github.com/rubyworks/malt] |
5
+ {Mailing List}[http://groups.google.com/group/rubyworks-mailinglist]
6
+
7
+ {<img src="http://travis-ci.org/rubyworks/malt.png" />}[http://travis-ci.org/rubyworks/malt]
5
8
 
6
9
 
7
10
  == DESCRIPTION
@@ -41,11 +44,13 @@ Notice the #to_s. This is needed because #to_html returns an
41
44
  Malt::Format::HTML object.
42
45
 
43
46
 
44
- == COMING SOON
45
-
46
- Malt can also "multi-render".
47
+ == LIMITATIONS
47
48
 
48
- Malt.file('foo.rdoc.erb').to_html(data) # ~> foo.html
49
+ *JRuby* and *Rubinus* users: Not all template systems work with your Ruby.
50
+ Consequently not all of Malt will work either. Thankfully Malt only
51
+ requires template engines as they are needed, so it will work fine
52
+ in most cases. But, you will need to avoid engines that depend on compiled
53
+ code, such as +less+ and +coffee-script+.
49
54
 
50
55
 
51
56
  == INSTALATION
@@ -63,10 +68,11 @@ cd into it and run setup.rb, e.g.
63
68
  $ sudo setup.rb
64
69
 
65
70
 
66
- == COPYING
67
71
 
68
- Copyright (c) 2010 Thomas Sawyer
72
+ == COPYRIGHTS
73
+
74
+ Copyright (c) 2010 Rubyworks
69
75
 
70
- This program is ditributed under the terms of the Apache 2.0 license.
76
+ This program is ditributed under the terms of the *BSD-2-Clause* license.
71
77
 
72
- See the LICENSE.txt file for details.
78
+ See the COPYING.rdoc file for details.
@@ -0,0 +1,4 @@
1
+ desc "ruby unit tests"
2
+ task :test do
3
+ sh "ruby-test -r./test/helper.rb test/"
4
+ end
@@ -1,10 +1,9 @@
1
- require 'malt/meta/data'
1
+ require 'malt/core_ext'
2
+ require 'malt/version'
2
3
  require 'malt/kernel'
3
4
  require 'malt/machine'
4
- require 'malt/core_ext'
5
5
 
6
6
  module Malt
7
-
8
7
  class << self
9
8
  include Malt::Kernel
10
9
  end
@@ -14,32 +13,61 @@ module Malt
14
13
  @machine ||= Machine.new
15
14
  end
16
15
 
17
- #
16
+ # Render a file.
18
17
  def self.file(file, options={})
19
18
  machine.file(file, options)
20
19
  end
21
20
 
22
- #
21
+ # Render text string.
23
22
  def self.text(text, options={})
24
23
  machine.text(text, options)
25
24
  end
26
25
 
27
- #
26
+ # Render a URL.
28
27
  def self.open(url, options={})
29
28
  machine.open(url, options)
30
29
  end
31
30
 
31
+ # Render a document.
32
+ #
33
+ # param [Hash] params
34
+ # Rendering parameters.
35
+ #
36
+ # option params [Symbol] :to
37
+ # The format to which the file/text is to be rendered.
38
+ #
39
+ # option params [String] :file
40
+ # The file to be rendered. If `:text` is not given, this file must exist on disk
41
+ # so it can be read-in to fill in the `:text` option. If text is given, the file
42
+ # is only used to help determine type and clarify error messages.
43
+ #
44
+ # option params [String] :text
45
+ # The text to render. This option is required unless `:file` is given.
46
+ #
47
+ # option params [Symbol] :type
48
+ # The format of the text. This will be determined automatically by the `:file`
49
+ # option if it is given and has a recognized extension. Otherwise it needs
50
+ # be explicitly provided.
51
+ #
52
+ # option params [Hash,Object,Binding,Array] :data
53
+ # The data source used for evaluation. This can be a locals hash, a scope
54
+ # object or binding, or an array of a scope object/binding and locals hash.
55
+ # This option is split-up into :scope and :locals before passing on to
56
+ # the redering engine.
57
+ #
58
+ # option params [Boolean] :pass
59
+ # If not a supported type return text rather than raise an error.
32
60
  #
33
61
  def self.render(params, &body)
34
62
  machine.render(params, &body)
35
63
  end
36
64
 
37
- #
65
+ # Returns `true` if the extension given is a recognized format.
38
66
  def self.format?(ext)
39
67
  machine.format?(ext)
40
68
  end
41
69
 
42
- # Returns true if the extension given is renderable.
70
+ # Returns `true` if the extension given is renderable.
43
71
  def self.engine?(ext)
44
72
  machine.engine?(ext)
45
73
  end