Hello community, here is the log from the commit of package rubygem-concurrent-ruby for openSUSE:Factory checked in at 2016-05-29 03:11:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-concurrent-ruby (Old) and /work/SRC/openSUSE:Factory/.rubygem-concurrent-ruby.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-concurrent-ruby" Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-concurrent-ruby/rubygem-concurrent-ruby.changes 2016-04-22 16:24:31.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-concurrent-ruby.new/rubygem-concurrent-ruby.changes 2016-05-29 03:12:44.000000000 +0200 @@ -1,0 +2,6 @@ +Tue May 3 04:32:14 UTC 2016 - co...@suse.com + +- updated to version 1.0.2 + see installed CHANGELOG.md + +------------------------------------------------------------------- Old: ---- concurrent-ruby-1.0.1.gem New: ---- concurrent-ruby-1.0.2.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-concurrent-ruby.spec ++++++ --- /var/tmp/diff_new_pack.yZVSej/_old 2016-05-29 03:12:44.000000000 +0200 +++ /var/tmp/diff_new_pack.yZVSej/_new 2016-05-29 03:12:44.000000000 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-concurrent-ruby -Version: 1.0.1 +Version: 1.0.2 Release: 0 %define mod_name concurrent-ruby %define mod_full_name %{mod_name}-%{version} ++++++ concurrent-ruby-1.0.1.gem -> concurrent-ruby-1.0.2.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2016-02-27 14:47:46.000000000 +0100 +++ new/CHANGELOG.md 2016-05-02 16:19:25.000000000 +0200 @@ -1,4 +1,11 @@ -## Current Release v1.0.1 (27 February 2016) +## Current Release v1.0.2 (2 May 2016) + +* Fix bug with `Concurrent::Map` MRI backend `#inspect` method +* Fix bug with `Concurrent::Map` MRI backend using `Hash#value?` +* Improved documentation and examples +* Minor updates to Edge + +### Release v1.0.1 (27 February 2016) * Fix "uninitialized constant Concurrent::ReentrantReadWriteLock" error. * Better handling of `autoload` vs. `require`. Files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/concurrent/collection/map/non_concurrent_map_backend.rb new/lib/concurrent/collection/map/non_concurrent_map_backend.rb --- old/lib/concurrent/collection/map/non_concurrent_map_backend.rb 2016-02-27 14:47:46.000000000 +0100 +++ new/lib/concurrent/collection/map/non_concurrent_map_backend.rb 2016-05-02 16:19:25.000000000 +0200 @@ -76,10 +76,6 @@ @backend.key?(key) end - def value?(value) - @backend.value?(value) - end - def delete(key) @backend.delete(key) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/concurrent/collection/map/synchronized_map_backend.rb new/lib/concurrent/collection/map/synchronized_map_backend.rb --- old/lib/concurrent/collection/map/synchronized_map_backend.rb 2016-02-27 14:47:46.000000000 +0100 +++ new/lib/concurrent/collection/map/synchronized_map_backend.rb 2016-05-02 16:19:25.000000000 +0200 @@ -53,10 +53,6 @@ synchronize { super } end - def value?(value) - synchronize { super } - end - def delete(key) synchronize { super } end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/concurrent/map.rb new/lib/concurrent/map.rb --- old/lib/concurrent/map.rb 2016-02-27 14:47:46.000000000 +0100 +++ new/lib/concurrent/map.rb 2016-05-02 16:19:25.000000000 +0200 @@ -149,7 +149,7 @@ return true if value.equal?(v) end false - end unless method_defined?(:value?) + end def keys arr = [] @@ -202,6 +202,15 @@ undef :freeze + # @!visibility private + DEFAULT_OBJ_ID_STR_WIDTH = (2**50).class == Fixnum ? 14 : 7 # we want to look "native", 7 for 32-bit, 14 for 64-bit + # override default #inspect() method: firstly, we don't want to be spilling our guts (i-vars), secondly, MRI backend's + # #inspect() call on its @backend i-var will bump @backend's iter level while possibly yielding GVL + def inspect + id_str = (object_id << 1).to_s(16).rjust(DEFAULT_OBJ_ID_STR_WIDTH, '0') + "#<#{self.class.name}:0x#{id_str} entries=#{size} default_proc=#{@default_proc.inspect}>" + end + private def raise_fetch_no_key raise KeyError, 'key not found' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/concurrent/promise.rb new/lib/concurrent/promise.rb --- old/lib/concurrent/promise.rb 2016-02-27 14:47:46.000000000 +0100 +++ new/lib/concurrent/promise.rb 2016-05-02 16:19:25.000000000 +0200 @@ -28,21 +28,22 @@ # When a promise is rejected all its children will be summarily rejected and # will receive the reason. # - # Promises have four possible states: *unscheduled*, *pending*, *rejected*, - # and *fulfilled*. A Promise created using `.new` will be *unscheduled*. It is - # scheduled by calling the `execute` method. Upon execution the Promise and - # all its children will be set to *pending*. When a promise is *pending* it - # will remain in that state until processing is complete. A completed Promise - # is either *rejected*, indicating that an exception was thrown during - # processing, or *fulfilled*, indicating it succeeded. If a Promise is - # *fulfilled* its `value` will be updated to reflect the result of the - # operation. If *rejected* the `reason` will be updated with a reference to - # the thrown exception. The predicate methods `unscheduled?`, `pending?`, - # `rejected?`, and `fulfilled?` can be called at any time to obtain the state - # of the Promise, as can the `state` method, which returns a symbol. A Promise - # created using `.execute` will be *pending*, a Promise created using - # `.fulfill(value)` will be *fulfilled* with the given value and a Promise - # created using `.reject(reason)` will be *rejected* with the given reason. + # Promises have several possible states: *:unscheduled*, *:pending*, + # *:processing*, *:rejected*, or *:fulfilled*. These are also aggregated as + # `#incomplete?` and `#complete?`. When a Promise is created it is set to + # *:unscheduled*. Once the `#execute` method is called the state becomes + # *:pending*. Once a job is pulled from the thread pool's queue and is given + # to a thread for processing (often immediately upon `#post`) the state + # becomes *:processing*. The future will remain in this state until processing + # is complete. A future that is in the *:unscheduled*, *:pending*, or + # *:processing* is considered `#incomplete?`. A `#complete?` Promise is either + # *:rejected*, indicating that an exception was thrown during processing, or + # *:fulfilled*, indicating success. If a Promise is *:fulfilled* its `#value` + # will be updated to reflect the result of the operation. If *:rejected* the + # `reason` will be updated with a reference to the thrown exception. The + # predicate methods `#unscheduled?`, `#pending?`, `#rejected?`, and + # `#fulfilled?` can be called at any time to obtain the state of the Promise, + # as can the `#state` method, which returns a symbol. # # Retrieving the value of a promise is done through the `value` (alias: # `deref`) method. Obtaining the value of a promise is a potentially blocking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/concurrent/version.rb new/lib/concurrent/version.rb --- old/lib/concurrent/version.rb 2016-02-27 14:47:46.000000000 +0100 +++ new/lib/concurrent/version.rb 2016-05-02 16:19:25.000000000 +0200 @@ -1,4 +1,4 @@ module Concurrent - VERSION = '1.0.1' - EDGE_VERSION = '0.2.1' + VERSION = '1.0.2' + EDGE_VERSION = '0.2.2' end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2016-02-27 14:47:46.000000000 +0100 +++ new/metadata 2016-05-02 16:19:25.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: concurrent-ruby version: !ruby/object:Gem::Version - version: 1.0.1 + version: 1.0.2 platform: ruby authors: - Jerry D'Antonio @@ -9,7 +9,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2016-02-27 00:00:00.000000000 Z +date: 2016-05-02 00:00:00.000000000 Z dependencies: [] description: | Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more. @@ -169,7 +169,7 @@ version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.6.0 +rubygems_version: 2.6.4 signing_key: specification_version: 4 summary: Modern concurrency tools for Ruby. Inspired by Erlang, Clojure, Scala, Haskell,