ramaze 2011.01.30 → 2011.07.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. data/.gitignore +2 -1
  2. data/.mailmap +2 -0
  3. data/.rvmrc +1 -0
  4. data/README.md +119 -197
  5. data/Rakefile +14 -97
  6. data/bin/ramaze +6 -14
  7. data/doc/AUTHORS +8 -4
  8. data/doc/CHANGELOG +3784 -3339
  9. data/examples/app/chat/start.rb +2 -2
  10. data/lib/proto/app.rb +2 -3
  11. data/lib/proto/config.ru +4 -5
  12. data/lib/proto/controller/init.rb +11 -4
  13. data/lib/proto/controller/main.rb +12 -7
  14. data/lib/proto/layout/default.xhtml +56 -23
  15. data/lib/proto/model/init.rb +3 -1
  16. data/lib/proto/public/css/grid.css +107 -0
  17. data/lib/proto/public/css/layout.css +81 -0
  18. data/lib/proto/public/css/reset.css +123 -0
  19. data/lib/proto/public/css/text.css +109 -0
  20. data/lib/proto/public/images/bg.png +0 -0
  21. data/lib/proto/spec/main.rb +2 -2
  22. data/lib/proto/start.rb +11 -1
  23. data/lib/proto/view/index.xhtml +27 -23
  24. data/lib/ramaze.rb +0 -1
  25. data/lib/ramaze/app.rb +85 -12
  26. data/lib/ramaze/app_graph.rb +107 -0
  27. data/lib/ramaze/bin/console.rb +87 -0
  28. data/lib/ramaze/bin/create.rb +94 -0
  29. data/lib/ramaze/bin/helper.rb +107 -0
  30. data/lib/ramaze/bin/restart.rb +95 -0
  31. data/lib/ramaze/bin/runner.rb +141 -0
  32. data/lib/ramaze/bin/start.rb +206 -0
  33. data/lib/ramaze/bin/status.rb +152 -0
  34. data/lib/ramaze/bin/stop.rb +112 -0
  35. data/lib/ramaze/cache.rb +9 -4
  36. data/lib/ramaze/cache/localmemcache.rb +10 -13
  37. data/lib/ramaze/cache/lru.rb +49 -7
  38. data/lib/ramaze/cache/memcache.rb +170 -92
  39. data/lib/ramaze/cache/sequel.rb +301 -118
  40. data/lib/ramaze/controller.rb +108 -9
  41. data/lib/ramaze/controller/default.rb +15 -2
  42. data/lib/ramaze/current.rb +14 -2
  43. data/lib/ramaze/dependencies.rb +46 -0
  44. data/lib/ramaze/files.rb +38 -3
  45. data/lib/ramaze/gestalt.rb +12 -12
  46. data/lib/ramaze/helper.rb +0 -2
  47. data/lib/ramaze/helper/auth.rb +30 -23
  48. data/lib/ramaze/helper/blue_form.rb +175 -126
  49. data/lib/ramaze/helper/csrf.rb +76 -91
  50. data/lib/ramaze/helper/email.rb +105 -0
  51. data/lib/ramaze/helper/erector.rb +16 -15
  52. data/lib/ramaze/helper/gestalt.rb +2 -2
  53. data/lib/ramaze/helper/layout.rb +89 -73
  54. data/lib/ramaze/helper/link.rb +7 -6
  55. data/lib/ramaze/helper/localize.rb +6 -5
  56. data/lib/ramaze/helper/markaby.rb +25 -23
  57. data/lib/ramaze/helper/maruku.rb +3 -3
  58. data/lib/ramaze/helper/paginate.rb +19 -27
  59. data/lib/ramaze/helper/remarkably.rb +3 -3
  60. data/lib/ramaze/helper/request_accessor.rb +3 -3
  61. data/lib/ramaze/helper/send_file.rb +12 -8
  62. data/lib/ramaze/helper/simple_captcha.rb +5 -6
  63. data/lib/ramaze/helper/stack.rb +7 -4
  64. data/lib/ramaze/helper/tagz.rb +10 -11
  65. data/lib/ramaze/helper/thread.rb +19 -16
  66. data/lib/ramaze/helper/ultraviolet.rb +7 -4
  67. data/lib/ramaze/helper/user.rb +40 -21
  68. data/lib/ramaze/helper/xhtml.rb +29 -20
  69. data/lib/ramaze/log.rb +3 -11
  70. data/lib/ramaze/log/analogger.rb +5 -4
  71. data/lib/ramaze/log/growl.rb +9 -7
  72. data/lib/ramaze/log/hub.rb +3 -5
  73. data/lib/ramaze/log/informer.rb +15 -12
  74. data/lib/ramaze/log/knotify.rb +3 -5
  75. data/lib/ramaze/log/logger.rb +3 -5
  76. data/lib/ramaze/log/logging.rb +6 -8
  77. data/lib/ramaze/log/rotatinginformer.rb +27 -17
  78. data/lib/ramaze/log/syslog.rb +7 -7
  79. data/lib/ramaze/log/xosd.rb +3 -5
  80. data/lib/ramaze/middleware_compiler.rb +27 -4
  81. data/lib/ramaze/reloader.rb +50 -12
  82. data/lib/ramaze/reloader/watch_inotify.rb +4 -5
  83. data/lib/ramaze/reloader/watch_stat.rb +3 -3
  84. data/lib/ramaze/request.rb +18 -8
  85. data/lib/ramaze/response.rb +38 -7
  86. data/lib/ramaze/rest.rb +36 -0
  87. data/lib/ramaze/setup.rb +101 -31
  88. data/lib/ramaze/spec.rb +1 -1
  89. data/lib/ramaze/spec/bacon.rb +6 -3
  90. data/lib/ramaze/spec/helper/bacon.rb +0 -1
  91. data/lib/ramaze/version.rb +1 -1
  92. data/lib/ramaze/view.rb +2 -11
  93. data/lib/ramaze/view/erector.rb +46 -31
  94. data/lib/ramaze/view/erubis.rb +7 -3
  95. data/lib/ramaze/view/ezamar.rb +7 -3
  96. data/lib/ramaze/view/gestalt.rb +9 -3
  97. data/lib/ramaze/view/haml.rb +7 -3
  98. data/lib/ramaze/view/liquid.rb +3 -3
  99. data/lib/ramaze/view/lokar.rb +7 -3
  100. data/lib/ramaze/view/mustache.rb +11 -5
  101. data/lib/ramaze/view/nagoro.rb +3 -3
  102. data/lib/ramaze/view/sass.rb +1 -1
  103. data/lib/ramaze/view/slippers.rb +40 -13
  104. data/lib/ramaze/view/tagz.rb +9 -5
  105. data/ramaze.gemspec +23 -128
  106. data/spec/helper.rb +5 -0
  107. data/spec/ramaze/bin/app/config.ru +11 -0
  108. data/spec/ramaze/bin/create.rb +28 -0
  109. data/spec/ramaze/bin/runner.rb +30 -0
  110. data/spec/ramaze/bin/start.rb +38 -0
  111. data/spec/ramaze/cache/memcache.rb +10 -3
  112. data/spec/ramaze/cache/sequel.rb +7 -0
  113. data/spec/ramaze/controller/provide_inheritance.rb +0 -10
  114. data/spec/ramaze/dispatcher/file.rb +19 -15
  115. data/spec/ramaze/helper/auth.rb +10 -9
  116. data/spec/ramaze/helper/blue_form.rb +121 -68
  117. data/spec/ramaze/helper/email.rb +69 -0
  118. data/spec/ramaze/helper/layout.rb +12 -15
  119. data/spec/ramaze/helper/layout/alternative.xhtml +5 -0
  120. data/spec/ramaze/helper/user.rb +2 -0
  121. data/spec/ramaze/log/growl.rb +14 -1
  122. data/spec/{contrib → ramaze}/rest.rb +1 -1
  123. data/spec/ramaze/session/memcache.rb +2 -2
  124. data/spec/ramaze/view/sass.rb +1 -1
  125. data/tasks/bacon.rake +3 -3
  126. data/tasks/gem.rake +17 -18
  127. data/tasks/rcov.rake +2 -3
  128. data/tasks/release.rake +8 -65
  129. data/tasks/setup.rake +10 -8
  130. data/tasks/todo.rake +9 -5
  131. data/tasks/yard.rake +3 -2
  132. metadata +105 -397
  133. data/MANIFEST +0 -532
  134. data/TODO.md +0 -19
  135. data/benchmark/bench_templates/bench.rb +0 -67
  136. data/benchmark/bench_templates/view/large.erb +0 -79
  137. data/benchmark/bench_templates/view/large.haml +0 -41
  138. data/benchmark/bench_templates/view/large.lok +0 -79
  139. data/benchmark/bench_templates/view/large.xhtml +0 -79
  140. data/benchmark/bench_templates/view/small.erb +0 -21
  141. data/benchmark/bench_templates/view/small.haml +0 -12
  142. data/benchmark/bench_templates/view/small.lok +0 -21
  143. data/benchmark/bench_templates/view/small.xhtml +0 -21
  144. data/benchmark/results.txt +0 -131
  145. data/benchmark/run.rb +0 -355
  146. data/benchmark/suite/minimal.rb +0 -11
  147. data/benchmark/suite/no_informer.rb +0 -7
  148. data/benchmark/suite/no_sessions.rb +0 -9
  149. data/benchmark/suite/no_template.rb +0 -7
  150. data/benchmark/suite/simple.rb +0 -5
  151. data/benchmark/suite/template_erubis.rb +0 -8
  152. data/benchmark/suite/template_etanni.rb +0 -8
  153. data/benchmark/suite/template_ezamar.rb +0 -8
  154. data/benchmark/suite/template_haml.rb +0 -13
  155. data/benchmark/suite/template_liquid.rb +0 -11
  156. data/benchmark/suite/template_markaby.rb +0 -9
  157. data/benchmark/suite/template_nagoro.rb +0 -8
  158. data/benchmark/suite/template_redcloth.rb +0 -13
  159. data/benchmark/suite/template_tenjin.rb +0 -8
  160. data/benchmark/test.rb +0 -35
  161. data/doc/FAQ +0 -92
  162. data/doc/INSTALL +0 -92
  163. data/doc/TODO +0 -29
  164. data/doc/meta/announcement.txt +0 -119
  165. data/doc/meta/configuration.txt +0 -163
  166. data/doc/meta/internals.txt +0 -278
  167. data/doc/meta/users.kml +0 -64
  168. data/doc/tutorial/todolist.html +0 -1512
  169. data/doc/tutorial/todolist.txt +0 -920
  170. data/examples/app/sourceview/public/coderay.css +0 -104
  171. data/examples/app/sourceview/public/images/file.gif +0 -0
  172. data/examples/app/sourceview/public/images/folder.gif +0 -0
  173. data/examples/app/sourceview/public/images/tv-collapsable-last.gif +0 -0
  174. data/examples/app/sourceview/public/images/tv-collapsable.gif +0 -0
  175. data/examples/app/sourceview/public/images/tv-expandable-last.gif +0 -0
  176. data/examples/app/sourceview/public/images/tv-expandable.gif +0 -0
  177. data/examples/app/sourceview/public/images/tv-item-last.gif +0 -0
  178. data/examples/app/sourceview/public/images/tv-item.gif +0 -0
  179. data/examples/app/sourceview/public/jquery.js +0 -11
  180. data/examples/app/sourceview/public/jquery.treeview.css +0 -48
  181. data/examples/app/sourceview/public/jquery.treeview.js +0 -223
  182. data/examples/app/sourceview/public/sourceview.js +0 -52
  183. data/examples/app/sourceview/start.rb +0 -79
  184. data/examples/app/sourceview/view/index.haml +0 -59
  185. data/examples/helpers/httpdigest.rb +0 -107
  186. data/lib/proto/public/css/screen.css +0 -30
  187. data/lib/proto/public/js/jquery.js +0 -7179
  188. data/lib/ramaze/contrib/addressable_route.rb +0 -56
  189. data/lib/ramaze/contrib/app_graph.rb +0 -64
  190. data/lib/ramaze/contrib/email.rb +0 -88
  191. data/lib/ramaze/contrib/facebook.rb +0 -23
  192. data/lib/ramaze/contrib/facebook/facebook.rb +0 -171
  193. data/lib/ramaze/contrib/gettext.rb +0 -113
  194. data/lib/ramaze/contrib/gettext/mo.rb +0 -155
  195. data/lib/ramaze/contrib/gettext/parser.rb +0 -46
  196. data/lib/ramaze/contrib/gettext/po.rb +0 -109
  197. data/lib/ramaze/contrib/gzip_filter.rb +0 -1
  198. data/lib/ramaze/contrib/maruku_uv.rb +0 -59
  199. data/lib/ramaze/contrib/profiling.rb +0 -36
  200. data/lib/ramaze/contrib/rest.rb +0 -23
  201. data/lib/ramaze/contrib/sequel/create_join.rb +0 -26
  202. data/lib/ramaze/contrib/sequel/form_field.rb +0 -129
  203. data/lib/ramaze/contrib/sequel/image.rb +0 -196
  204. data/lib/ramaze/contrib/sequel/relation.rb +0 -98
  205. data/lib/ramaze/helper/httpdigest.rb +0 -96
  206. data/lib/ramaze/tool/bin.rb +0 -340
  207. data/lib/ramaze/tool/create.rb +0 -48
  208. data/lib/ramaze/tool/project_creator.rb +0 -120
  209. data/lib/ramaze/view/less.rb +0 -12
  210. data/lib/ramaze/view/maruku.rb +0 -15
  211. data/lib/ramaze/view/redcloth.rb +0 -21
  212. data/spec/contrib/addressable_route.rb +0 -30
  213. data/spec/examples/helpers/httpdigest.rb +0 -64
  214. data/spec/examples/templates/template_redcloth.rb +0 -13
  215. data/spec/ramaze/bin/ramaze.rb +0 -96
  216. data/spec/ramaze/helper/httpdigest.rb +0 -176
  217. data/spec/ramaze/view/less.rb +0 -60
  218. data/spec/ramaze/view/less/file.css.less +0 -8
  219. data/spec/ramaze/view/redcloth.rb +0 -66
  220. data/spec/ramaze/view/redcloth/external.redcloth +0 -8
  221. data/tasks/copyright.rake +0 -21
  222. data/tasks/gem_setup.rake +0 -112
  223. data/tasks/git.rake +0 -46
  224. data/tasks/grancher.rake +0 -12
  225. data/tasks/jquery.rake +0 -15
  226. data/tasks/manifest.rake +0 -4
  227. data/tasks/metric_changes.rake +0 -24
  228. data/tasks/reversion.rake +0 -8
  229. data/tasks/traits.rake +0 -21
@@ -10,9 +10,9 @@ require File.expand_path('../', __FILE__) unless defined?(Ramaze)
10
10
  require 'innate/spec/bacon'
11
11
 
12
12
  # minimal middleware, no exception handling
13
- Ramaze.middleware!(:spec){|m|
13
+ Ramaze.middleware!(:spec) do |m|
14
14
  m.run(Ramaze::AppMap)
15
- }
15
+ end
16
16
 
17
17
  shared :rack_test do
18
18
  Ramaze.setup_dependencies
@@ -26,8 +26,11 @@ shared :webrat do
26
26
 
27
27
  require 'webrat'
28
28
 
29
- Webrat.configure{|config| config.mode = :rack }
29
+ Webrat.configure { |config| config.mode = :rack }
30
30
 
31
31
  extend Webrat::Methods
32
32
  extend Webrat::Matchers
33
33
  end
34
+
35
+ # Ignore log messages
36
+ Ramaze::Log.level = Logger::ERROR
@@ -4,5 +4,4 @@ require 'bacon'
4
4
  require 'ramaze/spec/helper/pretty_output'
5
5
 
6
6
  Bacon.extend Bacon::PrettyOutput
7
- # Bacon.extend Bacon::TestUnitOutput
8
7
  Bacon.summary_on_exit
@@ -1,3 +1,3 @@
1
1
  module Ramaze
2
- VERSION = "2011.01.30"
2
+ VERSION = "2011.07.25"
3
3
  end
data/lib/ramaze/view.rb CHANGED
@@ -7,21 +7,14 @@ module Ramaze
7
7
  # This is a container module for wrappers of templating engines and handles
8
8
  # lazy requiring of needed engines.
9
9
  module View
10
-
11
10
  # Combine Kernel#autoload and Innate::View::register
12
-
13
11
  def self.auto_register(name, *exts)
14
12
  autoload(name, "ramaze/view/#{name}".downcase)
15
13
  register("Innate::View::#{name}", *exts)
16
14
  end
17
15
 
18
- # TODO:
19
- # * markaby - though we should advertise remarkably instead
20
- # * XSLT - this one is just crazy, someone up for the task?
21
-
22
16
  # Engines provided by Innate are:
23
17
  # ERB, Etanni, None
24
-
25
18
  auto_register :Erector, :erector
26
19
  auto_register :Erubis, :erubis, :rhtml
27
20
  auto_register :Ezamar, :zmr
@@ -30,14 +23,12 @@ module Ramaze
30
23
  auto_register :Less, :lss, :less
31
24
  auto_register :Liquid, :liquid
32
25
  auto_register :Lokar, :lok
33
- auto_register :Maruku, :mkd, :md
34
26
  auto_register :Nagoro, :nag
35
- auto_register :RedCloth, :redcloth
36
27
  auto_register :Remarkably, :rem
37
28
  auto_register :Sass, :sass
38
29
  auto_register :Tagz, :tagz
39
30
  auto_register :Tenjin, :rbhtml, :tenjin
40
31
  auto_register :Slippers, :st
41
32
  auto_register :Mustache, :mt
42
- end
43
- end
33
+ end # View
34
+ end # Ramaze
@@ -3,26 +3,36 @@ require 'erector'
3
3
  module Ramaze
4
4
  module View
5
5
  ##
6
- # Adapter for Erector. Erector is a view engine that works a bit like Markably but offers
7
- # a much more pleasant way of building your views. By creating classes in plain ruby you can generate
8
- # layouts and views without having to write a single line of HTML.
6
+ # Adapter for Erector. Erector is a view engine that works a bit like
7
+ # Markably but offers a much more pleasant way of building your views. By
8
+ # creating classes in plain ruby you can generate layouts and views without
9
+ # having to write a single line of HTML.
9
10
  #
10
- # Each layout or view is a simple class that matches the filename. A layout named "default.erector" would result in
11
- # a class with the name "Default". It's *very* important to know that you should ALWAYS extend Ramaze::View::Erector.
12
- # Without extending this class you won't be able to use Erector at all.
11
+ # Each layout or view is a simple class that matches the filename. A layout
12
+ # named "default.erector" would result in a class with the name "Default".
13
+ # It's *very* important to know that you should ALWAYS extend
14
+ # Ramaze::View::Erector. Without extending this class you won't be able to
15
+ # use Erector at all.
13
16
  #
14
- # When working with the Erector adapter there are a few things you'll need to know. First all your views and layouts should be classes
15
- # as explained earlier on. Each class should have at least a single method named "content". This method is executed by Erector and
16
- # the HTML it produces will either be stored in the @content instance variable (if it's a view) or sent to the browser if it's a layout.
17
- # The @content variable can be displayed by calling the rawtext() method and passing the variable as it's parameter.
17
+ # When working with the Erector adapter there are a few things you'll need
18
+ # to know. First all your views and layouts should be classes as explained
19
+ # earlier on. Each class should have at least a single method named
20
+ # "content". This method is executed by Erector and the HTML it produces
21
+ # will either be stored in the @content instance variable (if it's a view)
22
+ # or sent to the browser if it's a layout. The @content variable can be
23
+ # displayed by calling the rawtext() method and passing the variable as it's
24
+ # parameter.
18
25
  #
19
- # Using helper methods, such as the render_* methods is also possible although slightly different than you're used to. Due to the way
20
- # the Erector adapter works it isn't possible to directly call a helper method. As a workaround you can access these methods from the
21
- # "@controller" instance variable. Don't forget to render the output of these helpers using rawtext(). Feel free to submit any patches if you
22
- # think you have a better solution so that developers don't have to use the @controller instance variable.
26
+ # Using helper methods, such as the render_* methods is also possible
27
+ # although slightly different than you're used to. Due to the way the
28
+ # Erector adapter works it isn't possible to directly call a helper method.
29
+ # As a workaround you can access these methods from the "@controller"
30
+ # instance variable. Don't forget to render the output of these helpers
31
+ # using rawtext(). Feel free to submit any patches if you think you have a
32
+ # better solution so that developers don't have to use the @controller
33
+ # instance variable.
23
34
  #
24
35
  # @example
25
- #
26
36
  # # This is the code for the layout
27
37
  # class Default < Erector::Widget
28
38
  # html do
@@ -54,19 +64,22 @@ module Ramaze
54
64
  # @author Yorick Peterse
55
65
  #
56
66
  module Erector
57
- # Include the Erector gem. By doing this Erector views can extend the Erector gem without
58
- # causing any namespace errors.
67
+ # Include the Erector gem. By doing this Erector views can extend the
68
+ # Erector gem without causing any namespace errors.
59
69
  include ::Erector
60
70
 
61
71
  ##
62
- # The call method is called whenever a view is loaded. A view can either be a layout or an actual view
63
- # since they're treated the same way. First the view is loaded, followed by the layout.
72
+ # The call method is called whenever a view is loaded. A view can either
73
+ # be a layout or an actual view since they're treated the same way. First
74
+ # the view is loaded, followed by the layout.
64
75
  #
65
76
  # @author Yorick Peterse
66
- # @param [Object] action Object containing a copy of the current Action class data.
67
- # @param [String] string The content of the currently loaded layout. This variable isn't used by the Erector adapter
68
- # but is required since Ramaze expects 2 parameters. Usually this string is used to inline load (or evaluate) the content
69
- # of a view.
77
+ # @param [Object] action Object containing a copy of the current Action
78
+ # class data.
79
+ # @param [String] string The content of the currently loaded layout. This
80
+ # variable isn't used by the Erector adapter but is required since Ramaze
81
+ # expects 2 parameters. Usually this string is used to inline load (or
82
+ # evaluate) the content of a view.
70
83
  # @return [String] The generated HTML.
71
84
  #
72
85
  def self.call action, string
@@ -79,23 +92,25 @@ module Ramaze
79
92
  eval string
80
93
 
81
94
  # Generate the class name based on the filename.
82
- # Class names are a CamelCased version of the filename (without the extension).
95
+ # Class names are a CamelCased version of the filename (without the
96
+ # extension).
83
97
  klass = File.basename action.view, '.erector'
84
98
  klass = klass.camel_case
85
99
  view_obj = self.const_get(klass)
86
100
 
87
- # Synchronize the methods of action.instance with the view. These methods can be accessed
88
- # by calling @controller.METHOD
101
+ # Synchronize the methods of action.instance with the view. These
102
+ # methods can be accessed by calling @controller.METHOD
89
103
  action.variables[:controller] = action.instance
90
104
 
91
105
  # Now that we have all the data we can start rendering the HTML.
92
- # Note that we pass the action.variables hash to the new() method. This is done to give the view access to all existing
93
- # (instance) variables. Syncing them using action.copy_variables didn't seem to do the trick.
106
+ # Note that we pass the action.variables hash to the new() method. This
107
+ # is done to give the view access to all existing (instance) variables.
108
+ # Syncing them using action.copy_variables didn't seem to do the trick.
94
109
  html = view_obj.new(action.variables).to_html
95
110
 
96
111
  # All done
97
112
  return html, 'text/html'
98
113
  end
99
- end
100
- end
101
- end
114
+ end # Erector
115
+ end # View
116
+ end # Ramaze
@@ -5,6 +5,10 @@ require 'erubis'
5
5
 
6
6
  module Ramaze
7
7
  module View
8
+ ##
9
+ # View adapter for the Erubis template engine. More information about Erubis
10
+ # can be found here: http://www.kuwata-lab.com/erubis/
11
+ #
8
12
  module Erubis
9
13
  OPTIONS = { :engine => ::Erubis::Eruby }
10
14
 
@@ -18,6 +22,6 @@ module Ramaze
18
22
 
19
23
  return html, 'text/html'
20
24
  end
21
- end
22
- end
23
- end
25
+ end # Erubis
26
+ end # View
27
+ end # Ramaze
@@ -2,6 +2,10 @@ require 'ezamar'
2
2
 
3
3
  module Ramaze
4
4
  module View
5
+ ##
6
+ # View adapter for the Ezamar template engine. More information about this
7
+ # engine can be found here: https://github.com/manveru/ezamar
8
+ #
5
9
  module Ezamar
6
10
  TRANSFORM_PIPELINE = [ ::Ezamar::Element ]
7
11
 
@@ -18,6 +22,6 @@ module Ramaze
18
22
 
19
23
  ::Ezamar::Template.new(template, :file => file)
20
24
  end
21
- end
22
- end
23
- end
25
+ end # Ezamar
26
+ end # View
27
+ end # Ramaze
@@ -2,6 +2,12 @@ require 'ramaze/gestalt'
2
2
 
3
3
  module Ramaze
4
4
  module View
5
+ ##
6
+ # View adapter that allows you to use Ramaze::Gestalt in your views. See the
7
+ # documentation of Ramaze::Gestalt for more information.
8
+ #
9
+ # @see Ramaze::Gestalt
10
+ #
5
11
  module Gestalt
6
12
  def self.call(action, string)
7
13
  string = action.instance.instance_eval(string) if action.view
@@ -9,6 +15,6 @@ module Ramaze
9
15
 
10
16
  return html, 'text/html'
11
17
  end
12
- end
13
- end
14
- end
18
+ end # Gestalt
19
+ end # View
20
+ end # Ramaze
@@ -3,6 +3,10 @@ require 'haml/engine'
3
3
 
4
4
  module Ramaze
5
5
  module View
6
+ ##
7
+ # View adapter that allows views to use Haml, for more information see the
8
+ # following website: http://haml-lang.com/
9
+ #
6
10
  module Haml
7
11
  def self.call(action, string)
8
12
  options = action.options
@@ -17,6 +21,6 @@ module Ramaze
17
21
 
18
22
  return html, 'text/html'
19
23
  end
20
- end
21
- end
22
- end
24
+ end # Haml
25
+ end # View
26
+ end # Ramaze
@@ -95,6 +95,6 @@ module Ramaze
95
95
  @arg =~ /^(['"])(.*?)\1\s+(.*)/
96
96
  Ramaze::Current.action.node.anchor($2, $3)
97
97
  end
98
- end
99
- end
100
- end
98
+ end # Liquid
99
+ end # View
100
+ end # Ramaze
@@ -2,6 +2,10 @@ require 'lokar'
2
2
 
3
3
  module Ramaze
4
4
  module View
5
+ ##
6
+ # Allows views to use Lokar as the template engine. See the following
7
+ # website for more information: https://github.com/Zoxc/Lokar
8
+ #
5
9
  module Lokar
6
10
  def self.call(action, string)
7
11
  compiled = View.compile(string){|s| ::Lokar.compile(s, action.view || __FILE__) }
@@ -9,6 +13,6 @@ module Ramaze
9
13
 
10
14
  return html, 'text/html'
11
15
  end
12
- end
13
- end
14
- end
16
+ end # Helper
17
+ end # View
18
+ end # Ramaze
@@ -9,6 +9,12 @@ module Ramaze
9
9
  #
10
10
  # @see http://github.com/defunkt/mustache
11
11
  module Mustache
12
+ class RamazeContext < ::Mustache::Context
13
+ def escapeHTML(str)
14
+ str.escape(:html)
15
+ end
16
+ end
17
+
12
18
  def self.call(action, string)
13
19
  context, path, ext = class_defined?(action)
14
20
 
@@ -22,7 +28,7 @@ module Ramaze
22
28
  end
23
29
 
24
30
  def self.class_defined?(action)
25
- return ::Mustache::Context.new(nil), nil, nil unless action.view
31
+ return RamazeContext.new(nil), nil, nil unless action.view
26
32
 
27
33
  path = File.dirname(action.view)
28
34
 
@@ -33,8 +39,8 @@ module Ramaze
33
39
  ::Mustache
34
40
  end
35
41
 
36
- return ::Mustache::Context.new(klass.new), path, View.exts_of(self).first
42
+ return RamazeContext.new(klass.new), path, View.exts_of(self).first
37
43
  end
38
- end
39
- end
40
- end
44
+ end # Mustache
45
+ end # View
46
+ end # Ramaze
@@ -39,6 +39,6 @@ module Ramaze
39
39
 
40
40
  return html, 'text/html'
41
41
  end
42
- end
43
- end
44
- end
42
+ end # Nagoro
43
+ end # View
44
+ end # Ramaze
@@ -1,5 +1,5 @@
1
1
  require 'haml/util'
2
- require 'sass/engine'
2
+ require 'sass'
3
3
 
4
4
  module Ramaze
5
5
  module View
@@ -2,23 +2,50 @@ require 'slippers'
2
2
 
3
3
  module Ramaze
4
4
  module View
5
+ ##
6
+ # View adapter for Slippers, see the website of Slippers for more
7
+ # information: http://starapor.github.com/slippers/
8
+ #
9
+ #
5
10
  module Slippers
6
11
  def self.call(action, string)
7
- slippers = View.compile(string){|s| ::Slippers::Engine.new(s, :template_group => template_group(action)) }
12
+ slippers = View.compile(string) do |s|
13
+ ::Slippers::Engine.new(s, :template_group => template_group(action))
14
+ end
15
+
8
16
  object_to_render = ::Slippers::BindingWrapper.new(action.instance.binding)
9
- html = slippers.render(object_to_render)
17
+ html = slippers.render(object_to_render)
18
+
10
19
  return html, 'text/html'
11
20
  end
12
-
21
+
13
22
  private
14
- def self.template_group(action)
15
- subtemplates = action.instance.ancestral_trait[:slippers_options] || {}
16
- missing_template_handler = action.instance.ancestral_trait[:slippers_missing_template_handler]
17
- default_string = action.instance.ancestral_trait[:slippers_default_string]
18
- views = action.instance.options[:views].map{|view| "#{action.instance.options[:roots]}/#{view}" }
19
- super_group = ::Slippers::TemplateGroup.new(:templates => subtemplates, :missing_template_handler => missing_template_handler, :default_string => default_string)
20
- ::Slippers::TemplateGroupDirectory.new(views, :super_group => super_group, :missing_template_handler => missing_template_handler, :default_string => default_string)
23
+
24
+ def self.template_group(action)
25
+ subtemplates = action.instance.ancestral_trait[:slippers_options] || {}
26
+ missing_template_handler = action.instance.ancestral_trait[
27
+ :slippers_missing_template_handler
28
+ ]
29
+ default_string = action.instance.ancestral_trait[
30
+ :slippers_default_string
31
+ ]
32
+
33
+ views = action.instance.options[:views].map do |view|
34
+ "#{action.instance.options[:roots]}/#{view}"
21
35
  end
22
- end
23
- end
24
- end
36
+
37
+ super_group = ::Slippers::TemplateGroup.new(
38
+ :templates => subtemplates,
39
+ :missing_template_handler => missing_template_handler,
40
+ :default_string => default_string
41
+ )
42
+
43
+ ::Slippers::TemplateGroupDirectory.new(
44
+ views, :super_group => super_group,
45
+ :missing_template_handler => missing_template_handler,
46
+ :default_string => default_string
47
+ )
48
+ end
49
+ end # Slippers
50
+ end # View
51
+ end # Ramaze
@@ -39,11 +39,15 @@ module Ramaze
39
39
  end
40
40
 
41
41
  def p(*a)
42
- a.each{|elem| tagz << "#{ Rack::Utils.escape_html elem.inspect }#{ eol }"}
42
+ a.each do |elem|
43
+ tagz << "#{ Rack::Utils.escape_html elem.inspect }#{ eol }"
44
+ end
43
45
  end
44
46
 
45
47
  def pp(*a)
46
- a.each{|elem| tagz << "#{ Rack::Utils.escape_html PP.pp(elem, '') }#{ eol }"}
48
+ a.each do |elem|
49
+ tagz << "#{ Rack::Utils.escape_html PP.pp(elem, '') }#{ eol }"
50
+ end
47
51
  end
48
52
 
49
53
  def eol
@@ -58,6 +62,6 @@ module Ramaze
58
62
  concat eol
59
63
  end
60
64
  end
61
- end
62
- end
63
- end
65
+ end # Tagz
66
+ end # View
67
+ end # Ramaze