block inheritance with magic variable "super"
- allow blocks to include the content of the overridden block via the super variable
- use a glorified HashTable class (BlockHierarchy) to build the inheritance chain of blocks
define new filters: reverse, limit and offset
implementation of Cadenza::SourceRenderer
set higher precedence to functional variables when looking up identifiers
add context methods to alias filters, functional variables and blocks
implement the pluck/map/collect standard filter
implement the sort filter
turn exception classes into one-liners using Class.new
break up the bulk of the context class into multiple modules
document and implement lookup_(filter|block|functional_variable)
make Context #stack, #loaders, #filters, #functional_variables, #blocks read-only
add documentation on Context and ContextObject
disallow context objects calling public methods inherited from ContextObject (and it's ancestors)
fix boundary conditions on array index lookup
- previously you could call a0 and have it looked up as an array index
document BlockHierarchy
remove todo - CodeRay doesn't seem to document their scanner anymore
document FilteredValueNode and SourceRenderer
remove deprecated document attribute from BaseRenderer
change call style for filters, the existing use of splat is unpredictable and brittle
each define_filter block must accept exactly 2 arguments to support 1.8.x