Ruby Facets v2.5.0 Release Notes

Release Date: 2008-11-23 // over 15 years ago
  • Facets 2.5.0 is an important milestone in the development of Facets.

    ๐Ÿš€ This release has been tested against Rails' ActiveSupport library. ๐Ÿ‘ As long as Facets is loaded after ActiveSupport, everything should work fine. Of course, there's no counting for real world โœ… trials, but all ActiveSupport testcases pass under this scenario.

    ๐Ÿš€ Secondly, this release is the first of two (or three) down-scaling ๐Ÿš€ releases intended to remove all the remaining "excess" from the library. This is being done for a variety of reasons. Some scripts are substantial enough to be one their own and have been spun-off ๐Ÿš€ into separate largely compatible projects. In this release:

    If you were using... Use this project instead...

    annotations.rb         Anise
    
    bytes.rb               RichUnits
    times.rb
    
    command.rb             Clio
    consoleutils.rb
    

    ๐Ÿ—„ A few others scripts have been deprecated, without an alternative recourse, simply because they were too weak, such as uploadutils.rb, or highly experimental, such as chain.rb and eventhook.rb.

    ๐Ÿš€ Although this release constitutes an over all slimming down of Facets, two excellent new libraries have been added.

    1) ini.rb by Jeena Paradies. While YAML is frequently used by ๐Ÿ”ง Rubyists for configuration files, a full-on serializer like YAML is often overkill. INI files provide a lightweight solution ๐Ÿ”ง specifically geared for configuration.

    2) filter.rb by Brian Candler offers lazy evaluation chains of โšก๏ธ Enumerable methods. This is an elegant way to optimize contiguous maps, selections, etc. --effective even on infinite enumerators. ๐Ÿš€ (Note, the name of this library may be changed in the next release.)

    While work remains to be done, I am happy to say, Facets is finally beginning to approach the level of solidity I set out to achieve just over a year ago. Thank the Maker!

    Special thanks to Brian Candler, Jeena Paradies and Tyler Rick.

    ๐Ÿ”„ Changes:

    • 9 Major Changes

      • added Brian Candler's Enumerator::Filter
      • added sparse_array.rb (was old harray.rb)
      • added Jeena Paradies' ini.rb
      • renamed CacheDelegator to Memoizer
      • renamed DictionaryMatcher to just Matcher
      • deprecated bytes.rb and times.rb (use RichUnits instead)
      • deprecated uploadutils.rb; ziputils.rb will be (use Folio)
      • deprecated annotations.rb (use Anise instead)
      • deprecated command.rb and consoleutils.rb (use Clio instead)
    • 5 Minor Changes

      • deprecated chain.rb (very expiremental)
      • deprecated eventhook.rb (moved to ToadCode project)
      • deprecated tagiter.rb (moved to ToadCode project)
      • moved Hash#symolize_keys and #stringify_keys to core lib (still recommend #rekey instead though)
      • switched to git as of 2.4.5
    • ๐Ÿ›  4 Bug Fixes

      • memoize.rb, cache was at class-level, now at instance-level
      • binding/caller.rb, fixed require for callstack.rb
      • fixed missing require in string/tabto.rb
      • Fixed some bugs with Time#ago/Time#hence not changing years correctly when you changed months. (For example, Time.utc(2008, 1, 1).ago(12, :months) incorrectly returned 2009-01-01 instead of 2007-01-01.) Changed Time#ago/Time#hence to still work if passed negative number.