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
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