This repository has been archived by the owner on Dec 25, 2020. It is now read-only.
/
ChangeLog
305 lines (199 loc) · 10.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
Mon Apr 4 13:03:08 CET 2005 Michael Neumann <mneumann@ntecs.de>
* lib/wee/pageless/session.rb, lib/wee/pageless/application.rb: Remove
dependency of WEBrick::Cookie, use CGI::Cookie instead.
* lib/wee/adaptors/fastcgi.rb: Added preliminary FastCGI adaptor
(does not work yet with Pageless applications).
* lib/wee/adaptors/webrick.rb: reordered line
Sun Apr 3 13:24:04 CET 2005 Michael Neumann <mneumann@ntecs.de>
* lib/wee/adaptors/webrick.rb: doc fix
Sun Apr 3 13:11:07 CET 2005 Michael Neumann <mneumann@ntecs.de>
* lib/wee/core/presenter.rb, lib/wee/core/component.rb,
lib/wee/core/decoration.rb, lib/wee/session.rb,
lib/wee/pageless/session.rb, examples/window.rb, README:
Fixed a bug in processing the callbacks. It was not guaranteed that
all input callbacks are invoked before the final action callback.
This is now guaranteed! I've introduced two separate tree traversals
of process_callbacks to make this work. As a side effect, this also
has removed the dependency of Presenter/Component/Decoration classes
from the CallbackStream class. Instead of a CallbackStream, a code
block is now passed through the
process_callbacks/process_callbacks_chain traversal. The Session
class specifies how to invoke the callbacks.
Thu Mar 3 12:31:15 CET 2005 Michael Neumann <mneumann@ntecs.de>
* wee/session.rb, wee/pageless/session.rb: new methods
pre_respond_hook, post_callbacks_hook, especially to make pretty-URLs
as suggested by Joao Pedrosa working.
Thu Mar 3 12:11:05 CET 2005 Michael Neumann <mneumann@ntecs.de>
* wee/response.rb (Wee::Response): Use the passed mime_type as
content-type (bug fix).
* wee/request.rb: Made 'info' attribute writeable.
* wee/core/callback.rb: Added reader method for 'obj'
* wee/core/component.rb: Added #parent method, to retrieve the parent
component from a child if existent. The parent attribute will be set
during #add_child.
Thu Mar 3 11:38:21 CET 2005 Michael Neumann <mneumann@ntecs.de>
* wee/application.rb, wee/pageless/application.rb
(request_handler_expired): Forward to an URL that includes the info
part but neither the request_handler_id nor the page_id.
Sat Feb 26 17:12:35 CET 2005 Michael Neumann <mneumann@ntecs.de>
* wee/request.rb, test/test_request.rb, wee/pageless/request.rb,
wee/session.rb, wee/pageless/session.rb,
wee/renderer/html/canvas.rb, wee/renderer/html/brushes.rb:
- request delimeter changed to /___/ (looks nicer)
- refactored Request#build_url, which now takes a hash and
remembers already specified values
- A Request knows now itself whether it's a action or a render
request.
- added Request#info attribute. This is a part of the URL that you
can use for your own purposes. It is remembered across requests
unless you overwrite its value.
Sat Feb 26 14:22:34 CET 2005 Michael Neumann <mneumann@ntecs.de>
* wee/core/presenter.rb, wee/session.rb, wee/application.rb: renamed @properties to @__properties
* wee/core/component.rb: rename @children to @__children
* wee/core/component.rb, wee/core/valueholder.rb: rename @decoration
to @__decoration
--------------------------------------------------------------------
TAGGED 0.7.0
--------------------------------------------------------------------
Tue Feb 1 19:58:08 CET 2005 Michael Neumann <mneumann@ntecs.de>
* SelectListTag (r.select_list): NON-backwards-compatible change!!!
If it's NOT a multiple select list, then the callback is called
with the choosen value (instead of an array of one element). Method
#selected requires a single value in the same way. No changes if it's
a multiple-select list!
* minor refactoring of OgScaffolder (added support for Date type).
--------------------------------------------------------------------
TAGGED 0.6.0
--------------------------------------------------------------------
Sat Jan 29 19:06:12 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Added ERB-templating. Example:
# file: ~/components/main.rb
class Test < Wee::Component
# use template '~/components/main.tpl'
template :render
# use template '~/components/main.tpl-buttons'
template :render_buttons
end
This allows you to use ERB-templates instead of the render_XXX
methods. You can also call render_XXX methods from ERB, back and
forth. The template file is relative to the file from which the
'template :symbol' call is executed. The template method optionally
takes the two hash-parameters :file and :property.
* Added "Pageless" mode. In pageless mode, the URL displayed in your
browser always looks like "/app". The session id is stored as cookie
and there is no page_id, hence "pageless" mode. No backtracking is
performed! Example:
require 'wee/pageless'
app = Wee::Utils.app_for(YourMainComponent,
:session => Wee::PagelessSession,
:application => Wee::PagelessApplication)
Wee::WEBrickAdaptor.
request_class(Wee::PagelessRequest).
register('/app' => app).
start
* Wee::Session: use #set_response, so that subclass of Wee::Session can more
easily modify a response (e.g. add cookies or HTTP headers).
Sat Jan 29 17:08:54 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Wee::LiteralMethodCallback and Component#call: Additional arguments
are now prepended instead of appended. Example:
call MessageBox.new('msg'), :confirm, 1
def confirm(one, msgbox_result)
end
* Added named callbacks. Example:
r.anchor.named_callback('test') { ... }
will use 'test' as callback_id instead of a generic one.
* Methods ImageTag#src_for and GenericTagBrush#css_class_for no more
prepend 'img.' or 'css.' in front of the property name.
* Refactored wee/renderer/html/brushes.rb. Removed InputCallbackMixin,
ActionCallbackMixin and ActionURLCallbackMixin modules. Instead the
GenericTagBrush has methods __input_callback, __action_callback etc.
which are aliased in the corresponding Brush classes. Also made the
SelectList callback marshallable.
Fri Jan 28 02:42:53 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Method Wee::WEBrickAdaptor.request_class added. This allows you to
use a custom request class for your application or even a different
one for each registered application. Also added cookie support.
* Added method Wee::Utils.autoreload_glob which is faster than
#autoreload as it does not traverse the whole LOAD_PATH.
* Wee::Response: added cookies
Fri Jan 28 02:32:30 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Removed method Wee::Session#current_page and replaced it by
#current_callbacks.
* Wee::Session no longer applies a snapshot if the snapshot equals the current
state of the components tree
* removed duplicate code from continuation/session.rb
Fri Jan 28 02:10:31 CET 2005 Michael Neumann <mneumann@ntecs.de>
* added 'wee' binary which generates a sample application and
recommended directory structure for you (similar to the 'rails' command).
Fri Jan 28 00:22:21 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Method Wee::Utils.app_for: Removed the id_seed option. Use id_gen
instead, which expects a IdGenerator object (default is now the much more
secure Md5IdGenerator).
* Wee::Request: Refactored a lot. Use =/ instead of @ as delimeter for
the request_handler_id/page_id part ('@' looks ugly in Konqueror, as
it is displayed as '%40')
* Wee::Application: Don't send a RedirectResponse when no
request_handler_id was given. This wasn't neccessary and would
break when introducing cookies.
Fri Jan 28 00:07:52 CET 2005 Michael Neumann <mneumann@ntecs.de>
* renamed wee/idgen.rb to wee/idgen/simple.rb and
wee/md5_idgen.rb to wee/idgen/md5.rb
Fri Jan 28 00:04:46 CET 2005 Michael Neumann <mneumann@ntecs.de>
* added Md5IdGenerator, removed method #current from SimpleIdGenerator
Thu Jan 27 18:45:44 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Implemented a new OgScaffolder, which now is more like Rails one.
Thu Jan 27 15:23:59 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Component#add_decoration returns now self. Example where this is
useful:
app = Wee::Utils.app_for {
HelloWorld.new.add_decoration(Wee::PageDecoration.new("Hello World"))
}
* add non-Rubygems way to install Wee: install.rb
--------------------------------------------------------------------
TAGGED 0.5.0
--------------------------------------------------------------------
Wed Jan 26 20:22:55 CET 2005 Michael Neumann <mneumann@ntecs.de>
* Raised version up to 0.5.0 (nearing a release)
* Fixed test cases.
Wed Jan 26 18:19:39 CET 2005 Michael Neumann <mneumann@ntecs.de>
* updated docs
* made Component#call's marshallable by using an object of class
Wee::Component::OnAnswer instead of a Proc.
* Moved all continuation-dependent code into directory
wee/continuation. By default Wee uses no continuations, you have to
require 'wee/continuation' to enable them.
Wed Jan 26 13:51:22 CET 2005 Michael Neumann <mneumann@ntecs.de>
* If you pass nil to an attribute method of a Brush, e.g.
r.table_data.width(nil)
This will remove the 'width' attribute from the tag.
* Method HtmlCanvas#javascript added:
# external javascript resource
r.javascript.src('/test.js')
# internal javascript
r.javascript.with('function js() { ... }')
* Method Presenter.uses_property added. Used to declare required
properties. This has actually no effect. It's sole purpose is to
describe the dependencies.
NO DATE AVAILABLE Michael Neumann <mneumann@ntecs.de>
* Enable Socket.do_not_reverse_lookup in WEBrickAdaptor by default, as
this has been the reason for much slowliness
* Method Component#add_child returns the child so that the following
code becomes possible:
@pager = add_child Pager.new(...)
* Added experimental property system.
* Added methods GenericTagBrush#onclick_callback, HtmlCanvas#link_css,
lots of refactoring
* New examples: hw.rb, live-update.rb, calculator.rb
* Wee::Brush::InputTag: methods #disabled and #readonly added
* Wee::Utils.app_for takes now (optionally) a block.
* Wee::MessageBox, Wee::WrapperDecoration, Wee::FromDecoration added
* Wee::Session#current_page, #current_context methods added
* added ground-work for live-updates (see examples/live-update.rb)
* added wee/databases/og.rb, which defines OgApplication and
OgSession, as well as a generic (but still very limited)
OgScaffolder.
* Methods Wee::Session#sleep and #awake added, which are called before and
after the request is handled. They can be used for example to setup
and release a database connection.
* Wee::Helper.app_for is now Wee::Utils.app_for
* require 'wee/utils' will load all utility methods.