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
data/lib/ramaze/log.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
2
  # All files in this distribution are subject to the terms of the Ruby license.
3
-
4
3
  require 'ramaze/log/logging'
5
4
  require 'ramaze/log/informer'
6
5
 
@@ -16,17 +15,10 @@ module Ramaze
16
15
  Log = Innate::Log
17
16
 
18
17
  ##
19
- # Logger module that will autoload a certain logging helper if it's needed.
20
- # Ramaze ships with the following logging helpers:
18
+ # Module used as the base namespace for all loggers that ship with Ramaze.
21
19
  #
22
- # * Analogger
23
- # * Knotify
24
- # * Syslog
25
- # * Growl
26
- # * Xosd
27
- # * Logger
28
- # * Informer
29
- # * RotatingInformer
20
+ # @author Michael Fellinger
21
+ # @since 11-08-2009
30
22
  #
31
23
  module Logger
32
24
  autoload :Analogger, 'ramaze/log/analogger'
@@ -31,7 +31,8 @@ module Ramaze
31
31
  # @param [String] host The IP/hostname on which the logging system is running.
32
32
  # @param [Integer] port The port of the logging system.
33
33
  #
34
- def initialize(name = class_trait[:name], host = class_trait[:host], port = class_trait[:port])
34
+ def initialize(name = class_trait[:name], host = class_trait[:host],
35
+ port = class_trait[:port])
35
36
  super
36
37
  end
37
38
 
@@ -44,6 +45,6 @@ module Ramaze
44
45
  def log(tag, *args)
45
46
  super(tag, args.join("\n"))
46
47
  end
47
- end
48
- end
49
- end
48
+ end # Analogger
49
+ end # Log
50
+ end # Ramaze
@@ -5,7 +5,6 @@ require 'ruby-growl'
5
5
 
6
6
  module Ramaze
7
7
  module Logger
8
-
9
8
  ##
10
9
  # Informer for the Growl notification system
11
10
  # Growl lets Mac OS X applications unintrusively tell you when things happen.
@@ -27,10 +26,14 @@ module Ramaze
27
26
  ##
28
27
  # Takes the options from the default trait for merging.
29
28
  #
30
- # @param [Hash] options A hash containing extra options to use when initializing the Growl logger.
29
+ # @param [Hash] options A hash containing extra options to use when
30
+ # initializing the Growl logger.
31
31
  #
32
32
  def initialize(options = {})
33
- options = class_trait[:defaults].merge(options).values_at(:host, :name, :all_notifies, :default_notifies, :password)
33
+ options = class_trait[:defaults].merge(options).values_at(
34
+ :host, :name, :all_notifies, :default_notifies, :password
35
+ )
36
+
34
37
  super(*options)
35
38
  end
36
39
 
@@ -47,7 +50,6 @@ module Ramaze
47
50
  # Send size was to big (not really), ignore
48
51
  end
49
52
  end
50
- end
51
-
52
- end
53
- end
53
+ end # Growl
54
+ end # Logger
55
+ end # Ramaze
@@ -3,7 +3,6 @@
3
3
 
4
4
  module Ramaze
5
5
  module Logger
6
-
7
6
  ##
8
7
  # Bundles different informer instances and sends incoming messages to each.
9
8
  # This is the default with Informer as only member.
@@ -43,7 +42,6 @@ module Ramaze
43
42
  logger.log(tag, *args)
44
43
  end
45
44
  end
46
- end
47
-
48
- end
49
- end
45
+ end # Hub
46
+ end # log
47
+ end # Ramaze
@@ -37,15 +37,19 @@ module Ramaze
37
37
  #
38
38
  # @example
39
39
  #
40
- # Informer.new #=> logs to stdout with all levels being
41
- # shown.
42
- # Informer.new($stderr) #=> same, but to stderr
43
- # Informer.new("foo.log") #=> same, but logs to the file foo.log
44
- # (or creates it if it doesn't exist yet)
45
- # Informer.new($stdout, [:info]) #=> show only #info messages to stdout.
40
+ # Informer.new # => logs to stdout with all levels being shown.
41
+ # Informer.new($stderr) # => same, but to stderr
46
42
  #
47
- # @param [String] out Specifies where the output should go. By default this is set to STDOUT.
48
- # @param [Array] log_leves Array containing the levels that should be logged.
43
+ # # same, but logs to the file foo.log (or creates it if it doesn't
44
+ # # exist yet)
45
+ # Informer.new("foo.log")
46
+ #
47
+ # Informer.new($stdout, [:info]) #=> show only #info messages to stdout.
48
+ #
49
+ # @param [String] out Specifies where the output should go. By default
50
+ # this is set to STDOUT.
51
+ # @param [Array] log_leves Array containing the levels that should be
52
+ # logged.
49
53
  #
50
54
  def initialize(out = $stdout, log_levels = [:debug, :error, :info, :warn])
51
55
  @colorize = false
@@ -140,7 +144,6 @@ module Ramaze
140
144
  def closed?
141
145
  @out.respond_to?(:closed?) and @out.closed?
142
146
  end
143
- end
144
-
145
- end
146
- end
147
+ end # Informer
148
+ end # Log
149
+ end # Ramaze
@@ -3,7 +3,6 @@
3
3
 
4
4
  module Ramaze
5
5
  module Logger
6
-
7
6
  ##
8
7
  # Informer for the Knotify notfication system used on KDE.
9
8
  # Doesn't need any special libraries.
@@ -27,7 +26,6 @@ module Ramaze
27
26
  system(%{dcop knotify default notify Ramaze "#{tag}" "#{message}" '' '' #{present} 0})
28
27
  end
29
28
  end
30
- end
31
-
32
- end
33
- end
29
+ end # Knotify
30
+ end # Logger
31
+ end # Ramaze
@@ -5,7 +5,6 @@ require 'logger'
5
5
 
6
6
  module Ramaze
7
7
  module Logger
8
-
9
8
  ##
10
9
  # Informer for the Stdlib Logger.
11
10
  #
@@ -28,7 +27,6 @@ module Ramaze
28
27
  def dev(*args)
29
28
  debug(*args)
30
29
  end
31
- end
32
-
33
- end
34
- end
30
+ end # Logger
31
+ end # Logger
32
+ end # Ramaze
@@ -2,12 +2,10 @@
2
2
  # All files in this distribution are subject to the terms of the Ruby license.
3
3
 
4
4
  module Ramaze
5
-
6
5
  ##
7
6
  # This module provides a basic skeleton for your own loggers to be compatible.
8
7
  #
9
8
  # @example
10
- #
11
9
  # class MyLogger
12
10
  # include Logging
13
11
  #
@@ -17,7 +15,6 @@ module Ramaze
17
15
  # end
18
16
  #
19
17
  module Logging
20
-
21
18
  ##
22
19
  # Takes the tag (:warn|:debug|:error|:info) and the name of a method to be
23
20
  # called upon elements of msgs that don't respond to :to_str
@@ -38,7 +35,8 @@ module Ramaze
38
35
  ##
39
36
  # Converts everything given to strings and passes them on with :info
40
37
  #
41
- # @param [Array] objects An array of objects that need to be converted to strings.
38
+ # @param [Array] objects An array of objects that need to be converted to
39
+ # strings.
42
40
  #
43
41
  def info(*objects)
44
42
  tag_log(:info, :to_s, *objects)
@@ -47,7 +45,8 @@ module Ramaze
47
45
  ##
48
46
  # Converts everything given to strings and passes them on with :warn
49
47
  #
50
- # @param [Array] objects An array of objects that need to be converted to strings.
48
+ # @param [Array] objects An array of objects that need to be converted to
49
+ # strings.
51
50
  #
52
51
  def warn(*objects)
53
52
  tag_log(:warn, :to_s, *objects)
@@ -104,6 +103,5 @@ module Ramaze
104
103
  def debug?
105
104
  false
106
105
  end
107
- end
108
-
109
- end
106
+ end # Logging
107
+ end # Ramaze
@@ -3,9 +3,8 @@ module Ramaze
3
3
  module Logger
4
4
 
5
5
  ##
6
- # A customized logger (based on Informer) that creates multiple log files based on time
7
- #
8
- # TODO: This class isn't fully documented and could use a few improvements.
6
+ # A customized logger (based on Informer) that creates multiple log files
7
+ # based on current date.
9
8
  #
10
9
  class RotatingInformer
11
10
  include Innate::Traited
@@ -19,7 +18,7 @@ module Ramaze
19
18
 
20
19
  # This is how the final output is arranged.
21
20
  trait :format => "[%time] %prefix %text"
22
-
21
+
23
22
  ##
24
23
  # Create a new instance of RotatingInformer.
25
24
  #
@@ -34,16 +33,17 @@ module Ramaze
34
33
  # any or all of the symbols :debug, :error, :info and/or :warn
35
34
  #
36
35
  # @example
37
- #
38
- # # Creates logs in directory called logs. The generated filenames will be in the form YYYY-MM-DD.log
36
+ #
37
+ # # Creates logs in directory called logs. The generated filenames
38
+ # # will be in the form YYYY-MM-DD.log
39
39
  # RotatingInformer.new('logs')
40
40
  #
41
- #
42
- # # Creates logs in directory called logs. The generated filenames will be in the form YYYY-MM.txt
41
+ # # Creates logs in directory called logs. The generated filenames
42
+ # # will be in the form YYYY-MM.txt
43
43
  # RotatingInformer.new('logs', '%Y-%m.txt')
44
- #
45
44
  #
46
- # # Creates logs in directory called logs. The generated filenames will be in the form YYYY-MM.txt.
45
+ # # Creates logs in directory called logs. The generated filenames
46
+ # # will be in the form YYYY-MM.txt.
47
47
  # # Only errors will be logged to the files.
48
48
  # RotatingInformer.new('logs', '%Y-%m.txt', [:error])
49
49
  #
@@ -51,7 +51,8 @@ module Ramaze
51
51
  # @param [String] time_format The time format for all log files.
52
52
  # @param [Array] log_levels Array containing the type of messages to log.
53
53
  #
54
- def initialize(base_dir, time_format = '%Y-%m-%d.log', log_levels = [:debug, :error, :info, :warn])
54
+ def initialize(base_dir, time_format = '%Y-%m-%d.log',
55
+ log_levels = [:debug, :error, :info, :warn])
55
56
  # Verify and set base directory
56
57
  send :base_dir=, base_dir, true
57
58
 
@@ -74,7 +75,8 @@ module Ramaze
74
75
  # or is unwritable.
75
76
  #
76
77
  # @param [String] directory The base directory specified by the developer.
77
- # @param [Bool] raise_exception Boolean that indicates if an exception should be raised if the base directory doesn't exist.
78
+ # @param [Bool] raise_exception Boolean that indicates if an exception
79
+ # should be raised if the base directory doesn't exist.
78
80
  #
79
81
  def base_dir=(directory, raise_exception = false)
80
82
  # Expand directory path
@@ -118,7 +120,6 @@ module Ramaze
118
120
  # @param [Array] messages An array of messages to log.
119
121
  #
120
122
  def log tag, *messages
121
-
122
123
  return unless @log_levels.include?(tag)
123
124
 
124
125
  # Update current log
@@ -169,6 +170,16 @@ module Ramaze
169
170
  @out.respond_to?(:closed?) && @out.closed?
170
171
  end
171
172
 
173
+ ##
174
+ # Method that is called by Rack::CommonLogger when logging data to a file.
175
+ #
176
+ # @author Yorick Peterse
177
+ # @param [String] message The data that has to be logged.
178
+ #
179
+ def write message
180
+ log(:info, message)
181
+ end
182
+
172
183
  private
173
184
 
174
185
  ##
@@ -186,7 +197,6 @@ module Ramaze
186
197
  @out = File.open(out, 'ab+')
187
198
  end
188
199
  end
189
- end
190
-
191
- end
192
- end
200
+ end # RotatingInformer
201
+ end # Log
202
+ end # Ramaze
@@ -6,10 +6,10 @@ require 'syslog'
6
6
 
7
7
  # Add aliases for the levelnames used by Ramaze logging
8
8
  module Syslog
9
- alias dev debug
10
- alias warn warning
11
- alias error err
12
- module_function :dev, :warn, :error
9
+ alias dev debug
10
+ alias warn warning
11
+ alias error err
12
+ module_function :dev, :warn, :error
13
13
  end
14
14
 
15
15
  module Ramaze
@@ -52,6 +52,6 @@ module Ramaze
52
52
  def inspect
53
53
  ::Syslog.inspect
54
54
  end
55
- end
56
- end
57
- end
55
+ end # Syslog
56
+ end # Logger
57
+ end # Ramaze
@@ -7,7 +7,6 @@ require 'thread'
7
7
 
8
8
  module Ramaze
9
9
  module Logger
10
-
11
10
  ##
12
11
  # Informer for the XOSD notification system for X11.
13
12
  #
@@ -89,7 +88,6 @@ module Ramaze
89
88
  QUEUE << [tag, message]
90
89
  end
91
90
  end
92
- end
93
-
94
- end
95
- end
91
+ end # Xosd
92
+ end # Logger
93
+ end # Ramaze
@@ -1,13 +1,36 @@
1
1
  module Ramaze
2
+ ##
3
+ # @author Michael Fellinger
4
+ # @since 14-03-2009
5
+ # @see Innate::MiddelwareCompiler
6
+ #
2
7
  class MiddlewareCompiler < Innate::MiddlewareCompiler
8
+ ##
9
+ # Adds the path as a static file.
10
+ #
11
+ # @author Michael Fellinger
12
+ # @since 26-03-2009
13
+ # @param [String] path The path to the static file to add.
14
+ #
3
15
  def static(path)
4
16
  require 'rack/contrib'
5
- Rack::ETag.new(Rack::ConditionalGet.new(Rack::File.new(path)), 'public')
17
+ Rack::ETag.new(
18
+ Rack::ConditionalGet.new(Rack::File.new(path)), 'public'
19
+ )
6
20
  end
7
21
 
22
+ ##
23
+ # Adds the path as a directory.
24
+ #
25
+ # @author Michael Fellinger
26
+ # @since 26-03-2009
27
+ # @param [String] path The path to the directory to add.
28
+ #
8
29
  def directory(path)
9
30
  require 'rack/contrib'
10
- Rack::ETag.new(Rack::ConditionalGet.new(Rack::Directory.new(path)), 'public')
31
+ Rack::ETag.new(
32
+ Rack::ConditionalGet.new(Rack::Directory.new(path)), 'public'
33
+ )
11
34
  end
12
- end
13
- end
35
+ end # MiddlewareCompiler
36
+ end # Ramaze
@@ -2,7 +2,6 @@
2
2
  # All files in this distribution are subject to the terms of the Ruby license.
3
3
 
4
4
  module Ramaze
5
-
6
5
  # High performant source reloader
7
6
  #
8
7
  # This class acts as Rack middleware.
@@ -25,7 +24,6 @@ module Ramaze
25
24
  #
26
25
  # A number of hooks will be executed during the reload cycle, see
27
26
  # Ramaze::ReloaderHooks for more information.
28
-
29
27
  class Reloader
30
28
  OPTIONS = {
31
29
  # At most check every n seconds
@@ -60,6 +58,14 @@ module Ramaze
60
58
  Watcher = WatchStat
61
59
  end
62
60
 
61
+ ##
62
+ # Creates a new instance of the class and saves the application it has to
63
+ # watch.
64
+ #
65
+ # @author Michael Fellinger
66
+ # @since 09-08-2008
67
+ # @param [Ramaze::App] app The application to monitor.
68
+ #
63
69
  def initialize(app)
64
70
  @app = app
65
71
  @files = {}
@@ -67,11 +73,25 @@ module Ramaze
67
73
  options_reload
68
74
  end
69
75
 
76
+ ##
77
+ # Returns all the options for this class.
78
+ #
79
+ # @author Michael Fellinger
80
+ # @since 09-08-2008
81
+ # @return [Array]
82
+ #
70
83
  def options_reload
71
84
  @cooldown, @ignore, @control, @thread =
72
85
  OPTIONS.values_at(:cooldown, :ignore, :control, :thread)
73
86
  end
74
87
 
88
+ ##
89
+ # Allows this class to be called as a Rack middleware.
90
+ #
91
+ # @author Michael Fellinger
92
+ # @since 09-08-2008
93
+ # @param [Hash] env A hash containing all environment details.
94
+ #
75
95
  def call(env)
76
96
  options_reload
77
97
 
@@ -88,6 +108,12 @@ module Ramaze
88
108
  @app.call(env)
89
109
  end
90
110
 
111
+ ##
112
+ # Loops through all the files and reloads all changes files.
113
+ #
114
+ # @author Michael Fellinger
115
+ # @since 09-08-2008
116
+ #
91
117
  def cycle
92
118
  before_cycle
93
119
 
@@ -97,7 +123,13 @@ module Ramaze
97
123
  after_cycle
98
124
  end
99
125
 
126
+ ##
100
127
  # A safe Kernel::load, issuing the hooks depending on the results
128
+ #
129
+ # @author Michael Fellinger
130
+ # @since 09-08-2008
131
+ # @param [String] file Path to the file to safely load.
132
+ #
101
133
  def safe_load(file)
102
134
  before_safe_load(file)
103
135
  load(file)
@@ -120,6 +152,15 @@ module Ramaze
120
152
  end
121
153
  end
122
154
 
155
+ ##
156
+ # Tries to find a given file in an array of file paths.
157
+ #
158
+ # @author Michael Fellinger
159
+ # @since 09-08-2008
160
+ # @param [String] file The name of the file to look for.
161
+ # @param [Array] paths An array of paths to search.
162
+ # @return [String]
163
+ #
123
164
  def figure_path(file, paths)
124
165
  if Pathname.new(file).absolute?
125
166
  return File.exist?(file) ? file : nil
@@ -132,16 +173,13 @@ module Ramaze
132
173
  nil
133
174
  end
134
175
 
135
-
136
176
  # Holds hooks that are called before and after #cycle and #safe_load
137
177
  module Hooks
138
178
  # Overwrite to add actions before the reload rotation is started.
139
- def before_cycle
140
- end
179
+ def before_cycle; end
141
180
 
142
181
  # Overwrite to add actions after the reload rotation has ended.
143
- def after_cycle
144
- end
182
+ def after_cycle; end
145
183
 
146
184
  # Overwrite to add actions before a file is Kernel::load-ed
147
185
  def before_safe_load(file)
@@ -149,7 +187,8 @@ module Ramaze
149
187
  end
150
188
 
151
189
  # Overwrite to add actions after a file is Kernel::load-ed successfully,
152
- # by default we clean the Cache for compiled templates and resolved actions.
190
+ # by default we clean the Cache for compiled templates and resolved
191
+ # actions.
153
192
  def after_safe_load_succeed(file)
154
193
  Cache.clear_after_reload
155
194
  after_safe_load(file)
@@ -164,9 +203,8 @@ module Ramaze
164
203
  def after_safe_load_failed(file, error)
165
204
  Log.error(error)
166
205
  end
167
- end
206
+ end # Hooks
168
207
 
169
208
  include Hooks
170
-
171
- end
172
- end
209
+ end # Reloader
210
+ end # Ramaze