README.md in polyfill-1.5.0 vs README.md in polyfill-1.6.0

- old
+ new

@@ -15,21 +15,22 @@ - [Goals](#goals) - [Usage](#usage) - [Polyfill](#polyfill-1) - [Polyfill.get](#polyfillget) - [Implementation Table](#implementation-table) + - [2.6](#26) - [2.5](#25) - [2.4](#24) - [2.3](#23) - [2.2](#22) ## Installation Add it to your Gemfile: ```ruby -gem 'polyfill', '~> 1.5' +gem 'polyfill', '~> 1.6' ``` Or install it manually: ```sh @@ -122,9 +123,100 @@ ✓ = Implemented, ✗ = Not Implemented, P = Partially Implemented Partial implemented features will be explained in the "Changes" section of the table. The explanation will follow "**Differences:**". + +### 2.6 + +| | Object | Method | Changes | +|:-:| ---------------- | -------------------------- | ------- | +| ✗ | Array | #difference | New +| ✗ | | #filter | New (alias of `select`) +| ✗ | | #filter! | New (alias of `select!`) +| ✗ | | #to_h | Accepts a block that maps elements to new key/value pairs. +| ✗ | | #union | New +| ✗ | Binding | #source_location | New +| ✗ | Coverage | .line_stub | New +| ✗ | | .result | Accepts new optional keyword arguments, `:clear` and `:stop`. +| ✗ | | .start | Accepts a new optional keyword argument, `:oneshot_line`. +| ✗ | Dir | #children | New +| ✗ | | #each_child | New +| ✗ | Enumerable | #+ | New +| ✗ | | #chain | New +| ✗ | | #filter | New (alias of `select`) +| ✗ | | #to_h | Accepts a block that maps elements to new key/value pairs. +| ✗ | Enumerator::Lazy | #filter | New (alias of `select`) +| ✗ | ENV | #to_h | Accepts a block that maps elements to new key/value pairs. +| ✗ | ERB | .new | Accepts new optional keyword arguments, `:eoutvar` and `:trim_mode`. +| ✗ | Exception | #full_message | Accepts new optional keyword arguments, `:highlight` and `:order`. +| ✗ | File | .binread | Does not invoke external commands even if the path starts with `|`. +| ✗ | | .binwrite | Does not invoke external commands even if the path starts with `|`. +| ✗ | | .foreach | Does not invoke external commands even if the path starts with `|`. +| ✗ | | .read | Does not invoke external commands even if the path starts with `|`. +| ✗ | | .readlines | Does not invoke external commands even if the path starts with `|`. +| ✗ | | .write | Does not invoke external commands even if the path starts with `|`. +| ✗ | FileUtils | #cp_lr | New +| ✗ | Hash | #filter | New (alias of `select`) +| ✗ | | #filter! | New (alias of `select!`) +| ✓ | | #merge | Accepts multiple arguments. +| ✗ | | #merge! | Accepts multiple arguments. +| ✗ | | #to_h | Accepts a block that maps elements to new key/value pairs. +| ✗ | | #update | Accepts multiple arguments. +| ✗ | Kernel | #BigDecimal | Accepts a new optional keyword argument, `:exception`. +| ✗ | | #Complex | Accepts a new optional keyword argument, `:exception`. +| ✗ | | #exec | Does not close non-standard file descriptors. +| ✗ | | #Float | Accepts a new optional keyword argument, `:exception`. +| ✗ | | #Integer | Accepts a new optional keyword argument, `:exception`. +| ✗ | | #Rational | Accepts a new optional keyword argument, `:exception`. +| ✓ | | #then | New (alias of `yield_self`) +| ✗ | | #system | Accepts a new optional keyword argument, `:exception`. Does not close non-standard file descriptors. +| ✗ | KeyError | .new | Accepts new optional keyword arguments, `:receiver` and `:key`. +| ✗ | Matrix | #[]= | New +| ✗ | | #antisymmetric? | New +| ✗ | | #collect! | New +| ✗ | | #map! | New +| ✗ | | #skew_symmetric? | New +| ✗ | Method | #<< | New +| ✗ | | #>> | New +| ✗ | Module | #method_defined? | Accepts a second optional argument (default: `true`). If `false`, it only checks the class and not the acestors. +| ✗ | | #private_method_defined? | Accepts a second optional argument (default: `true`). If `false`, it only checks the class and not the acestors. +| ✗ | | #protected_method_defined? | Accepts a second optional argument (default: `true`). If `false`, it only checks the class and not the acestors. +| ✗ | NameError | .new | Accepts new optional keyword arguments, `:receiver` and `:key`. +| ✗ | Net::HTTP | .new | Accepts a new optional keyword argument, `:write_timeout`. +| ✗ | | #write_timeout | New +| ✗ | | #write_timeout= | New +| ✗ | NilClass | #=~ | New +| ✗ | NoMethodError | .new | Accepts new optional keyword arguments, `:receiver` and `:key`. +| ✗ | Numeric | #step | Now returns an instance of the Enumerator::ArithmeticSequence class rather than one of the Enumerator class. +| ✗ | Object | #=~ | Warns that it is deprecated. +| ✗ | OpenStruct | #to_h | Accepts a block that maps keys and values to new keys and values. +| ✗ | Proc | #<< | New +| ✗ | | #>> | New +| ✗ | | .call | No longer changes `$SAFE`. +| ✗ | Random | .bytes | New +| ✗ | Range | #% | New +| ✗ | | #=== | Now uses `cover?` instead of `include?`. +| ✗ | | #cover? | Accepts a Range. +| ✗ | | #step | Now returns an instance of the Enumerator::ArithmeticSequence class rather than one of the Enumerator class. +| ✗ | RSS::Parser | .parse | Accepts options as a Hash. Options are `:ignore_unknown_element`, `:parser_class`, and `:validate`. +| ✗ | Set | #filter! | New (alias of `select!`) +| ✗ | String | #crypt | Warns that it is deprecated. +| ✗ | | #split | Yields each substring to a block if given. +| ✗ | Struct | #filter | New (alias of `select`) +| ✗ | | #to_h | Accepts a block that maps keys and values to new keys and values. +| ✗ | Time | #+ | Preserves the timezone. +| ✗ | | #- | Preserves the timezone. +| ✗ | | .new | Accepts a timezone object as well as a UTC offset string. +| ✗ | | #getlocal | Accepts a timezone object as well as a UTC offset string. +| ✗ | | #succ | Preserves the timezone. +| ✗ | TracePoint | #enable | Accepts new optional keyword arguments, `:target` and `:target_line`. +| ✗ | | #eval_script | New +| ✗ | | #instruction_sequence | New +| ✗ | | #parameters | New +| ✗ | Vector | #[]= | New +| ✗ | | #collect! | New +| ✗ | | #map! | New ### 2.5 Attempting to modify frozen objects now throws `FrozenError` instead of `RuntimeError`. Methods where this change occurred are not listed below even