ramaze 2011.01.30 → 2011.07.25

Sign up to get free protection for your applications and to get access to all the features.
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