chunker/README
branchruby-modules
changeset 9 bab54dae339a
parent 8 fe38422c10a4
--- a/chunker/README	Sat Jan 22 01:55:55 2011 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-
-Preface:
-
-	Ruby provides an automatic constant called DATA, which is an IO object
-	that references all text in the current file under an __END__ token.
-
-	I find it convenient to use the __END__ area to store all sorts of
-	stuff, rather than have to worry about distributing separate files.
-
-
-The problem:
-
-	The DATA constant is determined from whatever ruby believes $0 to be.
-	It doesn't work inside of other required libraries, so you'll see stuff
-	like this all the time:
-
-	END = File.open( __FILE__ ).read.split( /^__END__/, 2 ).last
-
-	It works, but it's more work than I want to do.
-
-
-A workaround:
-
-	Chunker solves this by parsing __END__ tokens for you, and making it
-	available in the form of a 'DATA_END' constant.  It installs this
-	constant into the class that includes Chunker, so you can use it again
-	and again, assuming you use a different file for each class.
-
-	It also automatically parses out other things that look like tokens, so
-	you can easily have multiple, distinct documents all embedded into the
-	__END__ block.
-
-
-Usage:
-
-	There is no direct interface to Chunker.  Just include it from a
-	class to have that file's __END__ data blocks magically become DATA_*
-	IO constants within that class.
-
-
-Example:
-
-	This produces the string "Yep.\n".
-
-
-		require 'chunker'
-		class Foom
-			include Chunker
-		end
-
-		puts Foom.new.class.const_get( :DATA_WICKED ).read
-
-		__END__
-		Stuff in the END block!
-		__WOW__
-		Ultimate success!
-		__WICKED__
-		Yep.
-