Sha256: 0ca5ff49725f7b7bcf9ca77d1f7ce365ce745ba48926f6390256caca6ab87204
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
To Do for nanoc 4.0 =================== New --- * [3.x] assert that textual filter must return string * Get rid of notification center * Get rid of core ext * Don't recursively clean attributes * All stores should be pluggable Populate in data sources ------------------------ `Nanoc::DEFAULT_CONTENT` all data sources are told to populate Finding modified items ---------------------- Data sources should be queried to find out removed, added and changed items. Abstractions ------------ ItemRepWriter Item proxies ------------ Maybe this can be implemented as decorators. ### Core Nanoc::Core::Item identifier content attributes Nanoc::Core::ItemRep item_identifier name Nanoc::Core::ItemRepSnapshot item_identifier item_rep_name name content ### Proxies Nanoc::???::Item site children parent reps compiled_content Nanoc::???::ItemRep item_identifier item (weak ref?) compiled_content Nanoc::???::ItemRepSnapshot item_identifier item_rep_name item_rep (weak ref?) Dependency types ---------------- * Item -> Item * Item -> All items (@items.select { ... }) * Item -> Pattern (@item.children) Query language -------------- Is this strictly necessary? Maybe create an @items proxy that detects whether #find, #detect, #select, #each, ... are called. #[] would create a direct dependency. @items.children would also create a dependency on all its children and possible future ones (pattern dependency?). ### Capabilities * @item.parent * @item.children * @items.select{ |i| i[:kind] == 'article' } ### Examples @items.query(:identifier, equals: '/foo/') @items.query(:identifier, starts_with: '/reviews/') @items.query( -> how to distinguish between identifier and attributes?
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nanoc-3.6.3 | TODO.md |