Ruby Facets v2.8.3 Release Notes

Release Date: 2010-04-10 // about 12 years ago
  • 🆕 New release which makes a few adjustments in Kernel core extensions, ➕ adds a few new extensions and additions, plus other small improvements. The biggest change is the addition of Recusor, which is created via Enumerable#recursive. This class is somewhat like Enumerator and provides a number of recursive methods.

    🔄 Changes:

    • 9 New Core Extensions

      • Enumerable#recursive provides a number of other recursive methods.
      • Enumerable#visit can be used to recursively iterate any Enumerable.
      • Module#set has been added (from Sinatra).
      • Symbol#/ is added to be like String#/.
      • Struct#to_h is added and will ultimately replace Struct#attributes.
      • ObjectSpace#reflect routes method calls to Kernel context.
      • Hash#to_module converts a hash to mixin module (Jay Fields).
      • Kernel#dup! is same as #try_dup from extlib.
      • Add File#ext which is a useful variation of #extname (Lavir the Whiolet).
    • 3 Core Extensions Renamed

      • Renamed #set_from to #assign_from (alias remains until Kernel#set is considerd).
      • Renamed #populate to #assign and improve.
      • Kernel#instance_vars is now Kernel#instance and also more useful.
    • 🗄 1 Core Deprecation

      • Removed #instance_eval hack.
    • 🛠 2 Core Bug Fixes

      • #map_with_index now uses #each_with_index.
      • #to_proc_with_response spelling correction.
    • 1 Core Adjustment

      • Aliased #metadef to #meta_def.
    • 3 New More Libraries

      • casting_hash.rb provides CastingHash class, a hash with flexible keys and values.
      • prepend.rb allows for AOP-like inclusion of modules.
      • roman.rb provides simple roman numeral extensions to String and Integer.
    • 5 More Improvements

      • Pathname#visit for iterating all entries beneath a path (chikamichi).
      • Pathname#to_str, b/c Pathname is basically a type of String (from extlib).
      • Range#at_rand in random.rb handles Float ranges (Lavir the Whiolet).
      • FileUtils#cp_rx provides controlled copies.
      • Stash class in stash.rb is improved and is now available as a stand-alone library.
      • ioredirect.rb has been removed as IORedirect no longer worked.
      • plugin_manager.rb has been removed. Use 'plugin' gem instead.