Ruby Facets v1.8.0 Release Notes
Release Date: 2007-01-24 // over 17 years ago-
๐ The list of changes also includes intrim releases
1.7.46 September 8, 2006
,1.7.38 August 31, 2006
, and1.7.30 August 23, 2006
.๐ Changes:
โ Additions
- Add facets/automatic.rb, very cool, albiet experimental, way to load core methods automatically!
- added hash/insert; like store but only if key isn't already present
- added module/include_and_extend
- added File::mulitglob_sum; accumulates file patterns, and accepts '+' and '-' prefixes
- added module/module_method; like module_function but makes method public
- added module/include_function_module; attempts to properly include one function_module into another
- kernel/yaml convenience method for YAML::load
- added kernel/supress; supress errors while executing a block (nice DHH!)
- added symbol/chomp, like string#chomp
- added proc/to_h; converts an assignment proc into a hash
- proc/bind; bind a proc to an object, returning a method
- added module/prepend; provides dyanamic method wraps for modules, and static wraps for classes
- added module/new; use a module as if it were a class
- added module/alias_accessor
- kernel/instance_class; yet anouther meta_class name, but a more sensicle name this one
- added kernel/populate; populates an object's inst. vars from a hash or assingment block
- added kernel/daemonize; one last thanks to DHH!
- added enumerable/injecting; like inject but automatically returns the memo from the block
- added kernel/object_send, a true public-only send method
- added kernel/silence_stream; output to null device; thanks DHH!
- added kernel/instance_values, thanks DHH!
- added Config:inspect for rbconfig
- added hash/pairs_at (aking to values_at)
- added _why's metaid methods (meta_class, meta_eval, etc.)
- added kernel/enable_warnings to complement silence_warinings
- added integer/to_roman
- added logical operators for hash (and/or)
- array/to_path convert ans array to a path string
- array/index takes a block
- added fileutils/compress; very simple convenience methods for archiving folders
- added fileutils/stage adn staged, a means of transfering files accoring to preset rules
- added kernel/ask, simply command to get console input
- added populate.rb, mixin for classes that need on a basic initializer
- added version_number.rb (a specialized tuple)
- added uploadutils.rb
- added Joel VanderWerf's great script.rb script
- added Austin's minitar.rb --it's just too damn useful!
- added htmlfilter.rb very nice html escape class
- added dependency.rb, allwos method to have dependend execution (like rake tasks)
- added arguments.rb this is for parsing console command arguments
- add new version of annotations: ann.rb and ann_attr.rb
- added File::yaml? to roughly detect if a file is a yaml file
๐ Renamed Features
- Rename #superior to #super_at.
- OpenObject = OpenHash (OpenObject will eventually be deprecated)
- renamed quaclass to qua_class
- renamed openobject to openhash !!!
๐ Deprecations
- had to remove taskable.rb for now (implementation won't work as toplevel include)
- deprecated (yored) kernel/own, yet another term for the singleton class
- removed dataobject.rb (was never used)
- deprecated (yored!) module/inject; what a silly method
- deprecated kernel/require_facet (no longer needed)
๐ Bug Fixes
- Fix enumerable/partition_by.
- memoize should now work at toplevel
- minor bug fix to httpaccess
General Enhancments
- Add buildingblock.rb, replacing builderobject.rb.
- HtmlBuilder and XMLBuilder aer now based on BuildingBlock
- adjust require for "yored" files
- minor improvements to basic object (object_self to access kernel methods)
- ostuct adjustment, use #instance_delegate to get underneth the open access
- module/include_as is now based on module/namespace (thanks Pit!)
- minor adjustments to methods for (class<<self;self;end)
- facets.rb now references facets/sys.rb
- adjust old annotation.rb (now in yore) to use openhash
Admin Adjustments
- further updates to project info file (need to stop versioning this)
- deprecated (yored) builderobject.rb (poor implementation)
- moved deprecated #facet_require to yore lib
- minor doc change to instance_intercept.rb
- doc change to methodfilter.rb (maybe deprecat in future)
- moved old module/namespace implementation to yore
Unsorted Changes
- moved plugin.rb to ratchets/library project
- proper credit for multiton goes to Ara T. Howard!!!! Also improvements.
- remove library.rb (move to ratchets/library project)
- updated autovivify.rb to use openhash
- improvement to command.rb
- imporved time/stamp
- reimplemented proc/to_method for more sensible behavior
- reimplemented module/namespace, very clever thanks to pit captain
- added module_load and module_require, e.g. load into and require into
- reimplemented instance_exec, should be much improved
- doc updates to inflect.rb
- updates to Hash op_add, reverse_merge, and rekey
- each_slice is now just an alias via enumerator & fixes to partition_by
- minor adjusment to multiglob
- modified all.rb (not recommended!) to require facets/sys
- modifications to project information file (should this be versioned?)
- created yore lib to store deprecated features (good idea!)
- modified PROJECT info file
- added module class/module_load and _require
- remove facet/ redirect lib from darcs repository
- OpenObject is now OpenHash (OpenObject still exist for backcompat)
- kernel/returning is a stub for kernel/with
- added proc/update as alias for #call per Tim Pease use of Proc as Observable
- added behavior.rb by Nobuyoshi Nakada (plan to improve)
- rewrote taskable.rb using classes to represent tasks; it is much improved
- openobject.rb doc updates
- major update to functor which is now a subclass of Proc (should be faster)
- improvements to dictionary.rb to go along with additions of first and last
- small improvements to command.rb
- removed uses of class for object_class and solidified usaged of #as in basicobject.rb
- deprecated ostruct shadow methods (i.e table) in favor of #instance methods
- added test to module/alias_method_chain
- imporvements to instance_exec thanks to Mauricio Fernandez
- improvements to kernel/send_as
- improvements to kernel/as
- minor doc addition to kernel/as
- fixed syntax in hash/op_add.rb
- imporvements to hash/partition_by thanks to Gregory of Laurel
- added Mauricio Fernandez to authors
- added addtional work library lore
- moved "calibre" project information files
- moved a number of "in the works" libs to ToadCode project
- removed predicate.rb, an expiremental logic system, and moved to ToadCode
- Added plugin.rb, an indirect require mechinism, ie. a plugin system
- remove one.rb and moved to ToadCode project, this was just silly/fun library
- Added library.rb which is a library ledger system (used to be roll.rb)
- added kernel/with which instance_eval's a block on with's subject
- rekey is an improved version of normalize_keys (ie. the basis of symbolize_keys)
- multiglob is like glob but handles a list of patterns
- proper access to openstruct's underlying table
- minor adjustment to taskable.rb
- minor adjustment to #dresner docs
- minor adjustment to #as
- simple doc addition to setup.rb
- doc fixes and losening toplevel constraint to Object in taskable
- made OpenObject #update and #merge public; added to_hash
- minor "public" fix to main_as_object
- removed unorder_store and store_only; added first/last to dictionary
- continued improvements to command.rb added some new callbacks such as option_missing; also handles method_missing properly now
- minor adjustments to module::@+
- added string/rewrite
- test fixes to module/include_as
- documentation fix for class_extension
- minor edit to supermethod (also finish #superior removal)
- cleanup kernel/set_with code
- update kernel/metaclass can now take a block
- added hash#+ and hash#- (op_add and op_sub)
- added cache to enumerable/every
- minor updates to facets.rb
- removed kernel/superior (silly name)
- minor modifications ot PROJECT file
- [add] more/autovivify.rb expiremental lib.
- [update] Minor fix to command.rb to not use Kernel methods as subcommands.
- [update] Work on annotation.rb to improve support for :self.
- [deprecate] enumerable/permute.rb (replaced by permutation) and minor test fix to linkedlist.rb
- [added] linkedlist.rb (thanks Kirk Haines!)
- [added] enumerable/sum (thanks to Gavin Kistner)
- [added] array/each_combo and combos (Eunumerable.combinations will be deprecated eventually)
- [rename] changed enumerable/permute to permutation
- [update] annotation.rb, fixed :self key
- [added] pathname/op_div
- [deprecated] hash/each.rb
- [removed] hash/each.rb, this variation of Hash#each is too "dangerous" in practice
- [update] module/self/op_add.rb: fixed inclusion order
- annotation.rb, return annotations of self when key is :self [updated]
- module/self/op_add.rb and op_sub.rb - traits like features [added]
- minor improvemtns to module/clone_using and integrate
- command.rb: minor change to docs [update]
- openobject.rb (added NilClass#to_openobject) [update]
- enumerable/each_slice.rb [replace] Ruby already has #each_slice if you require 'enumerator'. And for 1.9, I believe, this will be present automatically. So Facets' each_slice has been replaced with a simple redirection to require 'enumerator'. Ruby's version is slightly different in that it won't check arity if a slice count is not given. For this, use enumerable/each_by.
- array/delete_at.rb [removed] Ruby's Array class already has a #delete_at method, although this is another method at odds with Hash. Use #delete_values_at instead.
- moved File.bitbucket to File.null (but bitbucket was so "fun"! ;)
- added nilclass/to_path
- added kernel/load_local
- added kernel/callee
- added enumerable/eachn, integer/each and integer/of
- re-added array/delete_values_at
- added filetest/self/root
- added cache.rb
- moved Dir.bitbucket to File.bitbucket
- removed task file in favor of sake based util/
- added main_as_module
- added doublemetaphone (Thanks Lawrence Philps!)
- rewrote taskable.rb
- minor doc fix to association.rb
- added symbol/to_s which caches the result for speed up
- additions and adjusments related to hash/delete_at
- added Dir.bitbucket
- update to array/op_fetch to include op_store
- updated docs and util tasks
- minor changes
- added filesystem.rb
- taskable should now work at the toplevel too
- still working the organization as Reap/Sake change
- started setting project tasks up for sake
- updates to enumerable each_slice
- updated names of meta files
- added trace to command.rb
- organizational changes