=Trail

Trail is a queue primitive for delayed and normalized execution.

==Quick Start

First, create a trail:

	t = Trail.new

Then, define the normalization method:

	t.normalize = lambda do |trail|
	  trail.uniq
	end

And, the commit method:

	t.commit = lambda do |trail|
	  trail.each {|e| puts e }
	  nil
	end

Push some data:

	100.times { t.push("hello, world") }

And, commit the trail:

	t.commit!

Please note that Trail#commit! returns Trail#commit return.

It is possible to specify the watch method:

	t.watch = lambda do |trail, v|
	  puts 'hello'
	  trail
	end

Please note that Trail#watch return overwrites the trail's queue.

=Trail

Trail is a lightweight queue for delayed and normalized execution.

==Quick Start

First, create a trail:

	t = Trail.new

Then, define the normalization method:

	t.normalize = lambda do |trail|
	  trail.uniq
	end

And, the commit method:

	t.commit = lambda do |trail|
	  trail.each {|e| puts e }
	  nil
	end

Push some data:

	100.times { t.push("hello, world") }

And, commit the trail:

	t.commit!

Please note that Trail#commit! returns Trail#commit return.

It is possible to specify the watch method:

	t.watch = lambda do |trail, v|
	  puts 'hello'
	  trail
	end

Please note that Trail#watch return overwrites the trail's queue.

Make it even more obvious that we are lightweight.
Make it even more obvious that we are lightweight.
