wee 0.1.0 → 0.3.1

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 (193) hide show
  1. data/INSTALL +7 -0
  2. data/README +268 -0
  3. data/Rakefile +26 -0
  4. data/TODO +116 -0
  5. data/benchmark/Centrino1300/result.2000.counter.action +45 -0
  6. data/benchmark/Centrino1300/result.2000.counter.render +43 -0
  7. data/benchmark/Centrino1300/result.2000.filehandler +43 -0
  8. data/benchmark/Centrino600/result.2000.counter.action +47 -0
  9. data/benchmark/Centrino600/result.2000.counter.render +45 -0
  10. data/benchmark/Centrino600/result.2000.filehandler +43 -0
  11. data/benchmark/Makefile +48 -0
  12. data/benchmark/bench.sh +24 -0
  13. data/benchmark/counter.rb +96 -0
  14. data/benchmark/filehandler.rb +6 -0
  15. data/doc/rdoc/classes/Array.html +172 -0
  16. data/doc/rdoc/classes/Cache.html +126 -0
  17. data/doc/rdoc/classes/Cache/StorageCache.html +320 -0
  18. data/doc/rdoc/classes/Cache/Strategy.html +128 -0
  19. data/doc/rdoc/classes/Cache/Strategy/CapacityBounded.html +269 -0
  20. data/doc/rdoc/classes/Cache/Strategy/LFU.html +238 -0
  21. data/doc/rdoc/classes/Cache/Strategy/LFU/Item.html +111 -0
  22. data/doc/rdoc/classes/Cache/Strategy/LRU.html +238 -0
  23. data/doc/rdoc/classes/Cache/Strategy/LRU/Item.html +111 -0
  24. data/doc/rdoc/classes/Cache/Strategy/Unbounded.html +225 -0
  25. data/doc/rdoc/classes/Cache/Strategy/Unbounded/Item.html +111 -0
  26. data/doc/rdoc/classes/Enumerable.html +146 -0
  27. data/doc/rdoc/classes/LiteralMethod.html +196 -0
  28. data/doc/rdoc/classes/Object.html +178 -0
  29. data/doc/rdoc/classes/String.html +172 -0
  30. data/doc/rdoc/classes/Struct.html +174 -0
  31. data/doc/rdoc/classes/Wee.html +160 -0
  32. data/doc/rdoc/classes/Wee/AnswerDecoration.html +182 -0
  33. data/doc/rdoc/classes/Wee/Application.html +337 -0
  34. data/doc/rdoc/classes/Wee/Brush.html +245 -0
  35. data/doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html +149 -0
  36. data/doc/rdoc/classes/Wee/Brush/ActionMixin.html +146 -0
  37. data/doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html +157 -0
  38. data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +210 -0
  39. data/doc/rdoc/classes/Wee/Brush/AssignMixin.html +141 -0
  40. data/doc/rdoc/classes/Wee/Brush/CallbackMixin.html +141 -0
  41. data/doc/rdoc/classes/Wee/Brush/FormTag.html +225 -0
  42. data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +176 -0
  43. data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +283 -0
  44. data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +176 -0
  45. data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +195 -0
  46. data/doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html +149 -0
  47. data/doc/rdoc/classes/Wee/Brush/InputTag.html +172 -0
  48. data/doc/rdoc/classes/Wee/Brush/Page.html +193 -0
  49. data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +267 -0
  50. data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +177 -0
  51. data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +154 -0
  52. data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +173 -0
  53. data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +146 -0
  54. data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +277 -0
  55. data/doc/rdoc/classes/Wee/Brush/TableTag.html +146 -0
  56. data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +229 -0
  57. data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +154 -0
  58. data/doc/rdoc/classes/Wee/Callback.html +231 -0
  59. data/doc/rdoc/classes/Wee/CallbackRegistry.html +308 -0
  60. data/doc/rdoc/classes/Wee/CallbackStream.html +227 -0
  61. data/doc/rdoc/classes/Wee/Canvas.html +235 -0
  62. data/doc/rdoc/classes/Wee/Component.html +933 -0
  63. data/doc/rdoc/classes/Wee/Context.html +111 -0
  64. data/doc/rdoc/classes/Wee/Decoration.html +338 -0
  65. data/doc/rdoc/classes/Wee/Delegate.html +247 -0
  66. data/doc/rdoc/classes/Wee/ErrorPage.html +175 -0
  67. data/doc/rdoc/classes/Wee/ErrorResponse.html +180 -0
  68. data/doc/rdoc/classes/Wee/GenericResponse.html +162 -0
  69. data/doc/rdoc/classes/Wee/HtmlCanvas.html +751 -0
  70. data/doc/rdoc/classes/Wee/HtmlWriter.html +351 -0
  71. data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +180 -0
  72. data/doc/rdoc/classes/Wee/MethodCallback.html +193 -0
  73. data/doc/rdoc/classes/Wee/Page.html +111 -0
  74. data/doc/rdoc/classes/Wee/Presenter.html +521 -0
  75. data/doc/rdoc/classes/Wee/RedirectResponse.html +150 -0
  76. data/doc/rdoc/classes/Wee/RefreshResponse.html +157 -0
  77. data/doc/rdoc/classes/Wee/RenderingContext.html +111 -0
  78. data/doc/rdoc/classes/Wee/Request.html +268 -0
  79. data/doc/rdoc/classes/Wee/RequestHandler.html +336 -0
  80. data/doc/rdoc/classes/Wee/Response.html +260 -0
  81. data/doc/rdoc/classes/Wee/Session.html +469 -0
  82. data/doc/rdoc/classes/Wee/SimpleIdGenerator.html +198 -0
  83. data/doc/rdoc/classes/Wee/Snapshot.html +211 -0
  84. data/doc/rdoc/classes/Wee/StateHolder.html +149 -0
  85. data/doc/rdoc/classes/Wee/StateRegistry.html +434 -0
  86. data/doc/rdoc/classes/Wee/StateRegistry/Snapshot.html +320 -0
  87. data/doc/rdoc/classes/Wee/StateRegistry/WithObject.html +153 -0
  88. data/doc/rdoc/classes/Wee/Utils.html +111 -0
  89. data/doc/rdoc/classes/Wee/Utils/LRUCache.html +148 -0
  90. data/doc/rdoc/classes/Wee/ValueHolder.html +220 -0
  91. data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +330 -0
  92. data/doc/rdoc/created.rid +1 -0
  93. data/doc/rdoc/files/INSTALL.html +118 -0
  94. data/doc/rdoc/files/README.html +466 -0
  95. data/doc/rdoc/files/lib/cache/cache_rb.html +101 -0
  96. data/doc/rdoc/files/lib/wee/adaptors/webrick_rb.html +108 -0
  97. data/doc/rdoc/files/lib/wee/application_rb.html +112 -0
  98. data/doc/rdoc/files/lib/wee/callback_rb.html +107 -0
  99. data/doc/rdoc/files/lib/wee/component_ext_rb.html +101 -0
  100. data/doc/rdoc/files/lib/wee/component_rb.html +109 -0
  101. data/doc/rdoc/files/lib/wee/context_rb.html +101 -0
  102. data/doc/rdoc/files/lib/wee/core/callback_rb.html +115 -0
  103. data/doc/rdoc/files/lib/wee/core/component_rb.html +108 -0
  104. data/doc/rdoc/files/lib/wee/core/decoration_rb.html +133 -0
  105. data/doc/rdoc/files/lib/wee/core/presenter_rb.html +112 -0
  106. data/doc/rdoc/files/lib/wee/core/snapshot_rb.html +113 -0
  107. data/doc/rdoc/files/lib/wee/core/valueholder_rb.html +110 -0
  108. data/doc/rdoc/files/lib/wee/core_rb.html +131 -0
  109. data/doc/rdoc/files/lib/wee/decoration_rb.html +101 -0
  110. data/doc/rdoc/files/lib/wee/holder_rb.html +101 -0
  111. data/doc/rdoc/files/lib/wee/html_canvas_rb.html +108 -0
  112. data/doc/rdoc/files/lib/wee/html_writer_rb.html +108 -0
  113. data/doc/rdoc/files/lib/wee/idgen_rb.html +101 -0
  114. data/doc/rdoc/files/lib/wee/page_rb.html +101 -0
  115. data/doc/rdoc/files/lib/wee/presenter_rb.html +112 -0
  116. data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +101 -0
  117. data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +101 -0
  118. data/doc/rdoc/files/lib/wee/renderer/html/writer_rb.html +108 -0
  119. data/doc/rdoc/files/lib/wee/rendering/html/brushes_rb.html +101 -0
  120. data/doc/rdoc/files/lib/wee/rendering/html/canvas_rb.html +101 -0
  121. data/doc/rdoc/files/lib/wee/rendering/html/writer_rb.html +108 -0
  122. data/doc/rdoc/files/lib/wee/request_rb.html +113 -0
  123. data/doc/rdoc/files/lib/wee/requesthandler_rb.html +101 -0
  124. data/doc/rdoc/files/lib/wee/response_rb.html +108 -0
  125. data/doc/rdoc/files/lib/wee/session_rb.html +109 -0
  126. data/doc/rdoc/files/lib/wee/snapshot_ext_rb.html +101 -0
  127. data/doc/rdoc/files/lib/wee/snapshot_rb.html +107 -0
  128. data/doc/rdoc/files/lib/wee/state_registry_rb.html +110 -0
  129. data/doc/rdoc/files/lib/wee/stuff_rb.html +144 -0
  130. data/doc/rdoc/files/lib/wee/utils/cache_rb.html +108 -0
  131. data/doc/rdoc/files/lib/wee/webrick_rb.html +108 -0
  132. data/doc/rdoc/files/lib/wee_rb.html +132 -0
  133. data/doc/rdoc/fr_class_index.html +93 -0
  134. data/doc/rdoc/fr_file_index.html +51 -0
  135. data/doc/rdoc/fr_method_index.html +242 -0
  136. data/doc/rdoc/index.html +24 -0
  137. data/doc/rdoc/rdoc-style.css +208 -0
  138. data/examples/ObjectSpaceBrowser.rb +199 -0
  139. data/examples/calendar.rb +366 -0
  140. data/examples/cc.rb +94 -0
  141. data/examples/draw.rb +91 -0
  142. data/examples/example.rb +223 -0
  143. data/examples/test.rb +66 -0
  144. data/examples/window.rb +53 -0
  145. data/lib/cache/cache.rb +9 -0
  146. data/lib/wee.rb +18 -8
  147. data/lib/wee/adaptors/webrick.rb +73 -0
  148. data/lib/wee/application.rb +69 -71
  149. data/lib/wee/context.rb +2 -12
  150. data/lib/wee/core.rb +15 -0
  151. data/lib/wee/core/callback.rb +108 -0
  152. data/lib/wee/core/component.rb +314 -0
  153. data/lib/wee/core/decoration.rb +129 -0
  154. data/lib/wee/core/presenter.rb +132 -0
  155. data/lib/wee/core/snapshot.rb +21 -0
  156. data/lib/wee/core/valueholder.rb +19 -0
  157. data/lib/wee/idgen.rb +13 -0
  158. data/lib/wee/page.rb +1 -1
  159. data/lib/wee/renderer/html/brushes.rb +435 -0
  160. data/lib/wee/renderer/html/canvas.rb +148 -0
  161. data/lib/wee/{html_writer.rb → renderer/html/writer.rb} +31 -16
  162. data/lib/wee/request.rb +57 -0
  163. data/lib/wee/requesthandler.rb +77 -0
  164. data/lib/wee/response.rb +77 -0
  165. data/lib/wee/session.rb +70 -64
  166. data/lib/wee/{snapshot.rb → snapshot_ext.rb} +4 -4
  167. data/test/components/calltest.rb +16 -0
  168. data/test/components/counter.rb +17 -0
  169. data/test/components/messagebox.rb +15 -0
  170. data/test/components/page.rb +14 -0
  171. data/test/components/page_decoration.rb +7 -0
  172. data/test/stress.rb +64 -0
  173. data/test/test_component.rb +106 -0
  174. data/test/test_html_canvas.rb +25 -0
  175. data/test/test_html_writer.rb +27 -0
  176. data/test/test_request.rb +13 -0
  177. data/test/utils/cross.rb +65 -0
  178. data/test/utils/generic_plotter.rb +28 -0
  179. data/test/utils/gnuplot.rb +31 -0
  180. data/test/utils/measure_memory.rb +9 -0
  181. data/test/utils/memory_plotter.rb +10 -0
  182. data/test/utils/object_plotter.rb +10 -0
  183. data/test/utils/webrick_background.rb +31 -0
  184. data/wee.gemspec +22 -0
  185. metadata +222 -18
  186. data/lib/wee/component.rb +0 -126
  187. data/lib/wee/delegate_decoration.rb +0 -22
  188. data/lib/wee/handler_registry.rb +0 -89
  189. data/lib/wee/holder.rb +0 -14
  190. data/lib/wee/html_canvas.rb +0 -379
  191. data/lib/wee/state_registry.rb +0 -173
  192. data/lib/wee/stuff.rb +0 -29
  193. data/lib/wee/webrick.rb +0 -15
@@ -0,0 +1,31 @@
1
+ class GnuPlot
2
+ def self.spawn
3
+ new(IO.popen("gnuplot", "w+"))
4
+ end
5
+
6
+ def initialize(port)
7
+ @port = port
8
+ end
9
+
10
+ def plot(datasets)
11
+ @port << "plot"
12
+ datasets.each_with_index do |h, i|
13
+ @port << (i == 0 ? ' ' : ', ')
14
+ @port << "'-' title '#{ h[:title] }' #{ h[:params] }"
15
+ end
16
+ @port << "\n"
17
+
18
+ datasets.each do |h|
19
+ @port << h[:data].map{|v| v.join(" ")}.join("\n")
20
+ @port << "\ne\n"
21
+ end
22
+
23
+ self
24
+ end
25
+
26
+ def exit
27
+ @port << "exit\n"
28
+ @port.close
29
+ @port = nil
30
+ end
31
+ end
@@ -0,0 +1,9 @@
1
+ # return usage of process +pid+ in kb
2
+ def measure_memory(pid=Process.pid)
3
+ ["/proc/#{ pid }/status", "/compat/linux/proc/#{ pid }/status"].each {|file|
4
+ return $1.to_i if File.exists?(file) and File.read(file) =~ /^VmSize:\s*(\d+)\s*kB$/
5
+ }
6
+
7
+ mem, res = `ps -p #{ pid } -l`.split("\n").last.strip.split(/\s+/)[6..7]
8
+ return mem.to_i
9
+ end
@@ -0,0 +1,10 @@
1
+ require 'utils/measure_memory'
2
+ require 'utils/generic_plotter'
3
+
4
+ class MemoryPlotter < GenericPlotter
5
+ def initialize(interval, *pids)
6
+ super(interval, pids.map {|pid|
7
+ {:title => "pid: #{ pid }", :proc => proc {|data, time| data << [time, measure_memory(pid)] } }
8
+ })
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'utils/generic_plotter'
2
+
3
+ class ObjectPlotter < GenericPlotter
4
+ def initialize(interval, *klasses)
5
+ super(interval, klasses.map {|k|
6
+ {:title => k.to_s,# :params, 'with linespoints',
7
+ :proc => proc {|data, time| data << [time, ObjectSpace.each_object(k) {}] } }
8
+ })
9
+ end
10
+ end
@@ -0,0 +1,31 @@
1
+ require 'webrick'
2
+ require 'timeout'
3
+
4
+ class WEBrick::HTTPServer
5
+ alias old_start start
6
+
7
+ def start
8
+ raise "already started" if @__started
9
+ raise unless @config[:StartCallback].nil?
10
+ @config[:StartCallback] = proc { @__started = true }
11
+
12
+ Thread.new {
13
+ old_start
14
+ @__started = false
15
+ }
16
+
17
+ Timeout.timeout(5) {
18
+ nil until @__started # wait until the server is ready
19
+ }
20
+ end
21
+
22
+ alias old_shutdown shutdown
23
+
24
+ def shutdown
25
+ raise unless @__started
26
+ Timeout.timeout(5) {
27
+ old_shutdown
28
+ nil while @__started # wait until the server is down
29
+ }
30
+ end
31
+ end
data/wee.gemspec ADDED
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+
3
+ if File.read('lib/wee.rb') =~ /Version\s+=\s+"(\d+\.\d+\.\d+)"/
4
+ version = $1
5
+ else
6
+ raise "no version"
7
+ end
8
+
9
+ spec = Gem::Specification.new do |s|
10
+ s.name = 'wee'
11
+ s.version = version
12
+ s.summary = 'Wee is a framework for building highly dynamic web applications.'
13
+
14
+ s.files = Dir['**/*'].delete_if {|item| item.include?(".svn") }
15
+
16
+ s.require_path = 'lib'
17
+
18
+ s.author = "Michael Neumann"
19
+ s.email = "mneumann@ntecs.de"
20
+ s.homepage = "wee.rubyforge.org"
21
+ s.rubyforge_project = "wee"
22
+ end
metadata CHANGED
@@ -1,19 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.1
2
+ rubygems_version: 0.8.4
3
3
  specification_version: 1
4
4
  name: wee
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.0
7
- date: 2004-11-02
8
- summary: Wee is a framework for building dynamic dynamic web applications.
6
+ version: 0.3.1
7
+ date: 2005-01-09
8
+ summary: Wee is a framework for building highly dynamic web applications.
9
9
  require_paths:
10
10
  - lib
11
- author: Michael Neumann
12
11
  email: mneumann@ntecs.de
13
- homepage: http://wee.rubyforge.org
12
+ homepage: wee.rubyforge.org
14
13
  rubyforge_project: wee
15
14
  description:
16
- autorequire: wee
15
+ autorequire:
17
16
  default_executable:
18
17
  bindir: bin
19
18
  has_rdoc: false
@@ -25,27 +24,232 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
25
24
  version: 0.0.0
26
25
  version:
27
26
  platform: ruby
27
+ authors:
28
+ - Michael Neumann
28
29
  files:
30
+ - test
31
+ - doc
32
+ - lib
33
+ - Rakefile
34
+ - benchmark
35
+ - TODO
36
+ - examples
37
+ - README
38
+ - wee.gemspec
39
+ - INSTALL
40
+ - test/components
41
+ - test/test_html_canvas.rb
42
+ - test/test_html_writer.rb
43
+ - test/test_component.rb
44
+ - test/test_request.rb
45
+ - test/utils
46
+ - test/stress.rb
47
+ - test/components/counter.rb
48
+ - test/components/calltest.rb
49
+ - test/components/messagebox.rb
50
+ - test/components/page_decoration.rb
51
+ - test/components/page.rb
52
+ - test/utils/gnuplot.rb
53
+ - test/utils/webrick_background.rb
54
+ - test/utils/cross.rb
55
+ - test/utils/measure_memory.rb
56
+ - test/utils/object_plotter.rb
57
+ - test/utils/memory_plotter.rb
58
+ - test/utils/generic_plotter.rb
59
+ - doc/rdoc
60
+ - doc/rdoc/fr_method_index.html
61
+ - doc/rdoc/fr_file_index.html
62
+ - doc/rdoc/files
63
+ - doc/rdoc/rdoc-style.css
64
+ - doc/rdoc/created.rid
65
+ - doc/rdoc/index.html
66
+ - doc/rdoc/fr_class_index.html
67
+ - doc/rdoc/classes
68
+ - doc/rdoc/files/lib
69
+ - doc/rdoc/files/README.html
70
+ - doc/rdoc/files/INSTALL.html
71
+ - doc/rdoc/files/lib/wee
72
+ - doc/rdoc/files/lib/cache
73
+ - doc/rdoc/files/lib/wee_rb.html
74
+ - doc/rdoc/files/lib/wee/core
75
+ - doc/rdoc/files/lib/wee/utils
76
+ - doc/rdoc/files/lib/wee/callback_rb.html
77
+ - doc/rdoc/files/lib/wee/response_rb.html
78
+ - doc/rdoc/files/lib/wee/html_canvas_rb.html
79
+ - doc/rdoc/files/lib/wee/snapshot_rb.html
80
+ - doc/rdoc/files/lib/wee/html_writer_rb.html
81
+ - doc/rdoc/files/lib/wee/component_rb.html
82
+ - doc/rdoc/files/lib/wee/state_registry_rb.html
83
+ - doc/rdoc/files/lib/wee/application_rb.html
84
+ - doc/rdoc/files/lib/wee/presenter_rb.html
85
+ - doc/rdoc/files/lib/wee/decoration_rb.html
86
+ - doc/rdoc/files/lib/wee/page_rb.html
87
+ - doc/rdoc/files/lib/wee/holder_rb.html
88
+ - doc/rdoc/files/lib/wee/session_rb.html
89
+ - doc/rdoc/files/lib/wee/snapshot_ext_rb.html
90
+ - doc/rdoc/files/lib/wee/component_ext_rb.html
91
+ - doc/rdoc/files/lib/wee/context_rb.html
92
+ - doc/rdoc/files/lib/wee/webrick_rb.html
93
+ - doc/rdoc/files/lib/wee/idgen_rb.html
94
+ - doc/rdoc/files/lib/wee/stuff_rb.html
95
+ - doc/rdoc/files/lib/wee/requesthandler_rb.html
96
+ - doc/rdoc/files/lib/wee/rendering
97
+ - doc/rdoc/files/lib/wee/renderer
98
+ - doc/rdoc/files/lib/wee/core_rb.html
99
+ - doc/rdoc/files/lib/wee/request_rb.html
100
+ - doc/rdoc/files/lib/wee/adaptors
101
+ - doc/rdoc/files/lib/wee/core/valueholder_rb.html
102
+ - doc/rdoc/files/lib/wee/core/callback_rb.html
103
+ - doc/rdoc/files/lib/wee/core/snapshot_rb.html
104
+ - doc/rdoc/files/lib/wee/core/component_rb.html
105
+ - doc/rdoc/files/lib/wee/core/presenter_rb.html
106
+ - doc/rdoc/files/lib/wee/core/decoration_rb.html
107
+ - doc/rdoc/files/lib/wee/utils/cache_rb.html
108
+ - doc/rdoc/files/lib/wee/rendering/html
109
+ - doc/rdoc/files/lib/wee/rendering/html/brushes_rb.html
110
+ - doc/rdoc/files/lib/wee/rendering/html/canvas_rb.html
111
+ - doc/rdoc/files/lib/wee/rendering/html/writer_rb.html
112
+ - doc/rdoc/files/lib/wee/renderer/html
113
+ - doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html
114
+ - doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html
115
+ - doc/rdoc/files/lib/wee/renderer/html/writer_rb.html
116
+ - doc/rdoc/files/lib/wee/adaptors/webrick_rb.html
117
+ - doc/rdoc/files/lib/cache/cache_rb.html
118
+ - doc/rdoc/classes/Wee
119
+ - doc/rdoc/classes/Cache
120
+ - doc/rdoc/classes/LiteralMethod.html
121
+ - doc/rdoc/classes/Array.html
122
+ - doc/rdoc/classes/Enumerable.html
123
+ - doc/rdoc/classes/Wee.html
124
+ - doc/rdoc/classes/Cache.html
125
+ - doc/rdoc/classes/Struct.html
126
+ - doc/rdoc/classes/String.html
127
+ - doc/rdoc/classes/Object.html
128
+ - doc/rdoc/classes/Wee/Session.html
129
+ - doc/rdoc/classes/Wee/Page.html
130
+ - doc/rdoc/classes/Wee/Utils
131
+ - doc/rdoc/classes/Wee/SimpleIdGenerator.html
132
+ - doc/rdoc/classes/Wee/RefreshResponse.html
133
+ - doc/rdoc/classes/Wee/RequestHandler.html
134
+ - doc/rdoc/classes/Wee/Decoration.html
135
+ - doc/rdoc/classes/Wee/GenericResponse.html
136
+ - doc/rdoc/classes/Wee/StateRegistry
137
+ - doc/rdoc/classes/Wee/Delegate.html
138
+ - doc/rdoc/classes/Wee/Response.html
139
+ - doc/rdoc/classes/Wee/Snapshot.html
140
+ - doc/rdoc/classes/Wee/HtmlWriter.html
141
+ - doc/rdoc/classes/Wee/Brush
142
+ - doc/rdoc/classes/Wee/Brush.html
143
+ - doc/rdoc/classes/Wee/AnswerDecoration.html
144
+ - doc/rdoc/classes/Wee/CallbackStream.html
145
+ - doc/rdoc/classes/Wee/StateRegistry.html
146
+ - doc/rdoc/classes/Wee/Canvas.html
147
+ - doc/rdoc/classes/Wee/ValueHolder.html
148
+ - doc/rdoc/classes/Wee/StateHolder.html
149
+ - doc/rdoc/classes/Wee/RedirectResponse.html
150
+ - doc/rdoc/classes/Wee/RenderingContext.html
151
+ - doc/rdoc/classes/Wee/Context.html
152
+ - doc/rdoc/classes/Wee/CallbackRegistry.html
153
+ - doc/rdoc/classes/Wee/ErrorPage.html
154
+ - doc/rdoc/classes/Wee/Request.html
155
+ - doc/rdoc/classes/Wee/Callback.html
156
+ - doc/rdoc/classes/Wee/MethodCallback.html
157
+ - doc/rdoc/classes/Wee/HtmlCanvas.html
158
+ - doc/rdoc/classes/Wee/Utils.html
159
+ - doc/rdoc/classes/Wee/Component.html
160
+ - doc/rdoc/classes/Wee/Application.html
161
+ - doc/rdoc/classes/Wee/Presenter.html
162
+ - doc/rdoc/classes/Wee/ErrorResponse.html
163
+ - doc/rdoc/classes/Wee/WEBrickAdaptor.html
164
+ - doc/rdoc/classes/Wee/LiteralMethodCallback.html
165
+ - doc/rdoc/classes/Wee/Utils/LRUCache.html
166
+ - doc/rdoc/classes/Wee/StateRegistry/Snapshot.html
167
+ - doc/rdoc/classes/Wee/StateRegistry/WithObject.html
168
+ - doc/rdoc/classes/Wee/Brush/TableTag.html
169
+ - doc/rdoc/classes/Wee/Brush/Page.html
170
+ - doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html
171
+ - doc/rdoc/classes/Wee/Brush/GenericTagBrush.html
172
+ - doc/rdoc/classes/Wee/Brush/TableDataTag.html
173
+ - doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html
174
+ - doc/rdoc/classes/Wee/Brush/ActionMixin.html
175
+ - doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html
176
+ - doc/rdoc/classes/Wee/Brush/GenericTextBrush.html
177
+ - doc/rdoc/classes/Wee/Brush/AssignMixin.html
178
+ - doc/rdoc/classes/Wee/Brush/InputTag.html
179
+ - doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html
180
+ - doc/rdoc/classes/Wee/Brush/TableHeaderTag.html
181
+ - doc/rdoc/classes/Wee/Brush/TextInputTag.html
182
+ - doc/rdoc/classes/Wee/Brush/FormTag.html
183
+ - doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html
184
+ - doc/rdoc/classes/Wee/Brush/CallbackMixin.html
185
+ - doc/rdoc/classes/Wee/Brush/SelectOptionTag.html
186
+ - doc/rdoc/classes/Wee/Brush/AnchorTag.html
187
+ - doc/rdoc/classes/Wee/Brush/SelectListTag.html
188
+ - doc/rdoc/classes/Wee/Brush/TextAreaTag.html
189
+ - doc/rdoc/classes/Wee/Brush/TableRowTag.html
190
+ - doc/rdoc/classes/Wee/Brush/ImageButtonTag.html
191
+ - doc/rdoc/classes/Cache/Strategy
192
+ - doc/rdoc/classes/Cache/StorageCache.html
193
+ - doc/rdoc/classes/Cache/Strategy.html
194
+ - doc/rdoc/classes/Cache/Strategy/LRU
195
+ - doc/rdoc/classes/Cache/Strategy/Unbounded
196
+ - doc/rdoc/classes/Cache/Strategy/CapacityBounded.html
197
+ - doc/rdoc/classes/Cache/Strategy/Unbounded.html
198
+ - doc/rdoc/classes/Cache/Strategy/LRU.html
199
+ - doc/rdoc/classes/Cache/Strategy/LFU
200
+ - doc/rdoc/classes/Cache/Strategy/LFU.html
201
+ - doc/rdoc/classes/Cache/Strategy/LRU/Item.html
202
+ - doc/rdoc/classes/Cache/Strategy/Unbounded/Item.html
203
+ - doc/rdoc/classes/Cache/Strategy/LFU/Item.html
29
204
  - lib/wee
30
205
  - lib/cache
31
206
  - lib/wee.rb
32
- - lib/wee/holder.rb
33
207
  - lib/wee/utils
34
- - lib/wee/snapshot.rb
35
- - lib/wee/delegate_decoration.rb
208
+ - lib/wee/response.rb
209
+ - lib/wee/renderer
210
+ - lib/wee/snapshot_ext.rb
36
211
  - lib/wee/session.rb
37
- - lib/wee/context.rb
38
- - lib/wee/webrick.rb
39
- - lib/wee/stuff.rb
40
- - lib/wee/handler_registry.rb
41
- - lib/wee/html_canvas.rb
42
- - lib/wee/html_writer.rb
43
- - lib/wee/component.rb
44
212
  - lib/wee/application.rb
45
- - lib/wee/state_registry.rb
213
+ - lib/wee/core
214
+ - lib/wee/context.rb
215
+ - lib/wee/idgen.rb
216
+ - lib/wee/adaptors
217
+ - lib/wee/requesthandler.rb
218
+ - lib/wee/core.rb
219
+ - lib/wee/request.rb
46
220
  - lib/wee/page.rb
47
221
  - lib/wee/utils/cache.rb
222
+ - lib/wee/renderer/html
223
+ - lib/wee/renderer/html/canvas.rb
224
+ - lib/wee/renderer/html/brushes.rb
225
+ - lib/wee/renderer/html/writer.rb
226
+ - lib/wee/core/component.rb
227
+ - lib/wee/core/snapshot.rb
228
+ - lib/wee/core/decoration.rb
229
+ - lib/wee/core/presenter.rb
230
+ - lib/wee/core/valueholder.rb
231
+ - lib/wee/core/callback.rb
232
+ - lib/wee/adaptors/webrick.rb
48
233
  - lib/cache/cache.rb
234
+ - benchmark/Centrino1300
235
+ - benchmark/filehandler.rb
236
+ - benchmark/counter.rb
237
+ - benchmark/Centrino600
238
+ - benchmark/bench.sh
239
+ - benchmark/Makefile
240
+ - benchmark/Centrino1300/result.2000.counter.action
241
+ - benchmark/Centrino1300/result.2000.counter.render
242
+ - benchmark/Centrino1300/result.2000.filehandler
243
+ - benchmark/Centrino600/result.2000.counter.action
244
+ - benchmark/Centrino600/result.2000.filehandler
245
+ - benchmark/Centrino600/result.2000.counter.render
246
+ - examples/window.rb
247
+ - examples/draw.rb
248
+ - examples/test.rb
249
+ - examples/cc.rb
250
+ - examples/calendar.rb
251
+ - examples/ObjectSpaceBrowser.rb
252
+ - examples/example.rb
49
253
  test_files: []
50
254
  rdoc_options: []
51
255
  extra_rdoc_files: []
data/lib/wee/component.rb DELETED
@@ -1,126 +0,0 @@
1
- class Wee::Component
2
-
3
- attr_accessor :caller # who is calling us
4
-
5
- # call another component
6
- def call(component, return_method=nil)
7
- component.caller = [self, return_method]
8
- add_decoration(Wee::Delegate.new(component))
9
- end
10
-
11
- # return from a called component
12
- def answer(*args)
13
- c, return_method = self.caller
14
- c.remove_first_decoration
15
- c.send(return_method, *args) if return_method
16
- end
17
-
18
- def process_request(context)
19
- process_request_inputs(context)
20
- children.each {|c| c.decoration.process_request(context) }
21
- process_request_actions(context)
22
- end
23
-
24
- def process_request_inputs(context)
25
- context.request.query.each do |hid, value|
26
- if act = context.handler_registry.get_input(hid, self)
27
- send(act, value)
28
- end
29
- end
30
- end
31
-
32
- def process_request_actions(context)
33
- # handle URL actions
34
- if act = context.handler_registry.get_action(context.handler_id, self)
35
- act.invoke
36
- end
37
-
38
- # handle form actions
39
- context.request.query.each do |hid, value|
40
- if act = context.handler_registry.get_action(hid, self)
41
- act.invoke
42
- end
43
- end
44
- end
45
-
46
- # Creates a new renderer for this component and renders it.
47
- def render_with_context(rendering_context)
48
- r = renderer_class.new(rendering_context)
49
- r.current_component = self
50
- render_content_on(r)
51
- end
52
-
53
- # You call render_on to render a component.
54
- def render_on(renderer)
55
- decoration.render_with_context(renderer.context)
56
- end
57
-
58
- def render_content_on(r)
59
- end
60
-
61
- def renderer_class
62
- Wee::HtmlCanvas
63
- end
64
-
65
- def children
66
- @children || []
67
- end
68
-
69
- def add_child(c)
70
- @children ||= []
71
- @children << c
72
- end
73
-
74
- def add_children(*c)
75
- @children ||= []
76
- @children.push(*c)
77
- end
78
-
79
- # returns the first decoration in the decoration chain, or the component
80
- # itself, if none was specified
81
-
82
- attr_writer :decoration
83
-
84
- # FIXME: @decoration may never be self when backtracking
85
- # in any case, self==nil
86
- def decoration
87
- @decoration || self
88
- end
89
-
90
- # add decoration _d_ in front of the decoration chain.
91
- def add_decoration_in_front(d)
92
- d.next = self.decoration
93
- self.decoration = d
94
- end
95
- alias add_decoration add_decoration_in_front
96
-
97
- def remove_decoration(d)
98
- if d == @decoration
99
- # d is in front
100
- @decoration = d.next
101
- else
102
- last_decoration = @decoration
103
- loop do
104
- raise "not found" if last_decoration == self
105
- break if d == last_decoration.next
106
- last_decoration = last_decoration.next
107
- end
108
- last_decoration.next = d.next
109
- end
110
- end
111
-
112
- def add_decoration(d)
113
- d.next = self.decoration
114
- self.decoration = d
115
- end
116
-
117
- def remove_first_decoration
118
- self.decoration = self.decoration.next
119
- self.decoration = nil if self.decoration == self
120
- end
121
-
122
- def session
123
- Wee::Session.current
124
- end
125
-
126
- end