Commits on Jul 11, 2005
  1. tagged 0.9.0

    mneumann committed Jul 11, 2005
  2. rdocs uploaded

    mneumann committed Jul 11, 2005
  3. cleanup. removed continuation dependency

    mneumann committed Jul 11, 2005
  4. moved

    mneumann committed Jul 11, 2005
  5. * lib/wee/components/pager.rb, lib/wee/examples/pager.rb: Moved from…

    mneumann committed Jul 11, 2005
    … examples
    	  into components directory. Slightly modified. Now class Wee::Pager.
    	* lib/wee/components/login_decoration.rb (Wee::LoginDecoration): Initial
    	* lib/wee/components/component_dispatcher.rb (Wee::ComponentDispatcher):
    	  Initial creation. 
    	* lib/wee/components.rb: Load new components.
    	* lib/wee/renderer/html/{brushes,canvas}.rb: Introduced which can be used to specify the info part of a
  6. * lib/wee/renderer/html/{brushes,canvas}.rb: Added #hidden_input.

    mneumann committed Jul 11, 2005
    	* lib/wee/adaptors/rails.rb: fixed some bugs. minor refactoring. 
    	* lib/wee/adaptors/nitro.rb, examples/nitro/*: initial creation.
  7. * lib/wee.rb ( Added method for easy startup of components.

    mneumann committed Jul 11, 2005
    	* lib/wee/application.rb: Method Application#insert_new_request_handler
    	  added. Refactored #handle_request a bit.
  8. * lib/wee/snapshot_ext.rb: refactored. enhanced Hash to be snapshota…

    mneumann committed Jul 11, 2005
    	* lib/wee/session.rb: fixed two bugs I lately introduced during refactoring
    	* lib/wee/renderer/html/canvas.rb: added r.label
    	* lib/wee/examples/{pager,counter,editable_counter,calculator}.rb: 
    	  moved components from examples directory into Wee base. 
    	* lib/wee.rb: increased version to 0.9.0. Introduced module Wee::Examples.
    	* lib/wee/skeleton/og/components/main.rb: Minor cleanup.
    	* lib/wee/databases/og/scaffolder.rb: removed whitespace.
Commits on Jul 2, 2005
  1. * lib/wee/adaptors/rails.rb: Integrate Wee components into RubyOnRails.

    mneumann committed Jul 2, 2005
    	  Very simple example:
    		  # In config/environment.rb add:
    			require 'wee'
    			require 'wee/adaptors/rails'
    			require 'components/mycomponent'
    			# In components/mycomponent.rb:
    			class MyComponent < Wee::Component
    			  # ... your Wee component ...
    			# In app/controllers/wee_controller.rb:
    			class WeeController < ApplicationController
    			  include Wee::Rails::ControllerMixin
    				register_component "my" do

    			# In app/views/index.rhtml:
    			<%= show_component 'my' %>
    	  Of course you can render as many components as you like on one page. 
    		You can create components dynamically at runtime with:
    		  make_component component_name, component_object
    	  For example instead of using 'register_component' in the WeeController
    		shown above, you could write:
    			def index
    	      make_component('my', unless has_component?('my')
    				# render the view
    	  If you don't need the component anymore, drop it:
    		  drop_component 'my'
    		If you want to map 1:1 a Wee::Component to an ActionController, you can
    			class WeeController < ApplicationController
    			  include Wee::Rails::ControllerMixin
    				scaffold_with_component do

    	  At the moment, only pageless mode is possible, so no backtracking is
    		NOTE: Your Wee components must be fully marshallable to work with Rails
    		CGI mode. That means, you are not allowed to use continuations, and no
    		code blocks (callbacks). For example instead of:
    		  r.anchor.callback { answer true }
    	  You have to write:
    		  r.anchor.callback(:answer, true)
    	  Or more general:
    		  r.anchor.callback(, :answer, true))
    	* lib/wee/renderer/html/brushes.rb, lib/wee/renderer/html/canvas.rb: Use
    	  method Canvas#build_url instead of Request#build_url. This makes it
    		independent of the Request class. To use a different URL builder, simply
    		overwrite Canvas#build_url.
    	* lib/wee/session.rb, lib/wee/core/context.rb, lib/wee/core_ext.rb:
    	  Wee::RenderingContext now uses #context instead of #request, #response and
    		#session. This makes it easy to reuse the Context class of other
    		frameworks like Nitro or Rails. 
    	* lib/wee/components/messagebox.rb: do not use blocks -> fully marshallable
Commits on Jun 30, 2005
  1. * lib/wee/session.rb, lib/wee/core/componentrunner.rb, lib/wee/core.rb,

    mneumann committed Jun 30, 2005
    	  lib/wee/utils/helper.rb, lib/wee/pageless/session.rb: Refactored component 
    		specific stuff (rendering, snapshots, callback processing) out of session 
    		into core class ComponentRunner. 
    	* lib/wee/renderer/html/canvas.rb: fixed bug
  2. * lib/wee/session.rb, lib/wee/context.rb, lib/wee/core/renderingcont…

    mneumann committed Jun 30, 2005
    	  lib/wee/core.rb, lib/wee/core_ext.rb, lib/wee.rb: Moved Wee::Context into
    		core. Wee::Context gets an additional field 'session', and
    		Wee::RenderingContext inherits from Wee::Context.
  3. * lib/wee/response.rb: require 'cgi'

    mneumann committed Jun 30, 2005
  4. * lib/wee/response.rb (Wee::ErrorResponse#render): correctly format …

    mneumann committed Jun 30, 2005
    	  responses (patch by Aleksi Niemela)
  5. * lib/wee/core.rb, lib/wee/core/idgen.rb, lib/wee/idgen/md5.rb,

    mneumann committed Jun 30, 2005
    	  lib/wee/idgen/simple.rb: Introduced abstract class Wee::IdGenerator
    	  and subclass Wee::Md5IdGenerator and Wee::SimpleIdGenerator from it. 
    	* lib/wee/core/renderer.rb, lib/wee/core/presenter.rb,
    	  lib/wee/renderer/html/canvas.rb, lib/wee.rb: 
    	  Introduce base class of all renderer classes: Wee::Renderer. 
    	  Rename Wee::HtmlCanvas to Wee::HtmlCanvasRenderer and inherit from
    	  Wee::Renderer instead of Wee::Canvas. Wee::Canvas is now a mixin
    	  module as has been renamed to Wee::CanvasMixin.
    	  Rename @renderer in Wee::Presenter into @__renderer to avoid
    	  possible problems if this variable is accidently used by a
    	  user-defined component.
    	* lib/wee/template.rb: Added :local option, with which one can
    	  specify a template file relative to the component file, e.g:
    	    class MyComponent < Wee::Component
    	      template :render_this, :local => 'this.tmpl'
    	  Futhermore, added an :r_as_param option, which generates a render
    	  method that takes a renderer object as parameter 'r'.
    	* lib/wee/renderer/html/brushes.rb, lib/wee/renderer/html/canvas.rb:
    	  Method Brush::SelectListTag#selected takes optionally a block. In
    	  this case, only those elements will be selected, for which the block
    	  evaluates to true. This allows us to use some custom compare
    	  functions instead of the default ones '==' or 'include?'.
    	  Method Brush::SelectListTag#labels also might be passed a block, in
    	  which case the label is the return value of the block called with
    	  the corresponding item as parameter.
    	  Added class Brush::CheckboxTag and corresponding methods
    	  HtmlCanvas#check_box and alias #checkbox.
    	  Method HtmlCanvas#paragraph is no longer a single tag. It can now
    	  contain other tags, e.g. like <p><a .../></p>.
    	  Added method HtmlCanvas#multiline_text, which replaces newline
    	  characters (\n) in the text with <br/> tags.
    	* lib/wee/page.rb, lib/wee/core/page.rb: Page classes moved into core.
    	* lib/wee/session.rb: remove require 'wee/page' as this now has been
    	  moved into the core and is automatically required from there.
    	* lib/wee/context.rb, lib/wee/core/renderingcontext.rb: Moved
    	  RenderingContext class into core.
    	* lib/wee/core/presenter.rb, lib/wee/core_ext.rb: Moved some stuff
    	  from the Presenter class out of the core.
    	* lib/wee.rb, lib/wee/core.rb: adapt "require"s to the changed
    	* lib/wee/session.rb lib/wee/pageless/session.rb: renamed method
    	  #invoke_callbacks into #process_callbacks and refactored that method a
    	* lib/wee/core/presenter.rb, lib/wee/session.rb: removed
    	  throwing of :wee_send_response, instead use
    	* lib/wee/core/component.rb, lib/wee/continuation/core/component.rb,
    	  lib/wee/session.rb: renamed :wee_back_to_session into
    	* lib/wee/core/component.rb: Reverted commit from 
    	  Thu Mar  3 12:11:05 CET 2005. Removed method Component#parent,
    	  modified method #add_child.
    	* lib/wee/skeleton/og/conf/db.rb: Upgrade to run under newer Og version.
Commits on May 22, 2005
  1. * lib/wee/continuation/session.rb: Fixed a bug. Callbacks were invoked

    mneumann committed May 22, 2005
    	  twice, due to a super() call was calling the "wrong" super-method,
    	  which did the same as the calling method (the right super-method would
    	  have been super.super(), but this is actually not possible in Ruby
    	  without renaming).
Commits on Apr 19, 2005
  1. alias multiple to multi

    mneumann committed Apr 19, 2005
Commits on Apr 6, 2005
  1. * lib/wee/session.rb: introduced live_update callbacks, which are sp…

    mneumann committed Apr 6, 2005
    	  action callbacks that are processed after any action callback.
    	* lib/wee/renderer/html/canvas.rb, lib/wee/renderer/html/brushes.rb:
    	  - You can now use #value of textarea fields instead of #with.  
    	  - Implemented form.onsubmit_update method
Commits on Apr 5, 2005
  1. * lib/wee/renderer/html/canvas.rb, lib/wee/renderer/html/brushes.rb,

    mneumann committed Apr 5, 2005
    	  examples/radio.rb: Added support for radio buttons.
    	  (methods r.new_radio_group and r.radio_button)
  2. fixed bug

    mneumann committed Apr 5, 2005
Commits on Apr 4, 2005
  1. version 0.8.0

    mneumann committed Apr 4, 2005
  2. * examples/ajax/ajax.rb, examples/ajax/ajax.js,

    mneumann committed Apr 4, 2005
    	lib/wee/core/presenter.rb, lib/wee/renderer/html/brushes.rb: Added minimal
    	Ajax update support.
  3. initial import

    mneumann committed Apr 4, 2005
  4. * lib/wee/abstractsession.rb, lib/wee/session.rb,

    mneumann committed Apr 4, 2005
    	  lib/wee/pageless/session.rb, examples/live-update.rb: refactored
    	  Session classes.
    	* lib/wee/core/presenter.rb: added send_response method, to send a
    	  premature response.
  5. * lib/wee/pageless/session.rb, lib/wee/pageless/application.rb: Remove

    mneumann committed Apr 4, 2005
    	  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
Commits on Apr 3, 2005
  1. * lib/wee/adaptors/webrick.rb: doc fix

    mneumann committed Apr 3, 2005
  2. * lib/wee/core/presenter.rb, lib/wee/core/component.rb,

    mneumann committed Apr 3, 2005
    	  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.
Commits on Mar 3, 2005
  1. * wee/session.rb, wee/pageless/session.rb: new methods

    mneumann committed Mar 3, 2005
    	  pre_respond_hook, post_callbacks_hook, especially to make pretty-URLs
    	  as suggested by Joao Pedrosa working.
  2. * wee/response.rb (Wee::Response): Use the passed mime_type as

    mneumann committed Mar 3, 2005
    	  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.
  3. * wee/application.rb, wee/pageless/application.rb

    mneumann committed Mar 3, 2005
    	  (request_handler_expired): Forward to an URL that includes the info
    	  part but neither the request_handler_id nor the page_id.
Commits on Feb 26, 2005
  1. * wee/request.rb, test/test_request.rb, wee/pageless/request.rb,

    mneumann committed Feb 26, 2005
    	  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 
    	  - 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.
  2. removed comment

    mneumann committed Feb 26, 2005
  3. * wee/core/presenter.rb, wee/session.rb, wee/application.rb: renamed @…

    mneumann committed Feb 26, 2005
    …properties to @__properties
    	* wee/core/component.rb: rename @children to @__children
    	* wee/core/component.rb, wee/core/valueholder.rb: rename @decoration
    	  to @__decoration
Commits on Feb 16, 2005
  1. fixed examples

    mneumann committed Feb 16, 2005