concurrent-ruby-edge 0.4.0.pre1 → 0.4.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06d2b4c87f571f1ec33eb1ede2617f359cd4c50c4adde51c2f59715a4e4d6102
4
- data.tar.gz: 44234b7ba5362eb32134814d46abedc7947e9c9c01aa8d650aa9c0bd98f1bd84
3
+ metadata.gz: e482068cf55c4c1fc70e75e13365b5e6b28e233904889d008258489ac3273685
4
+ data.tar.gz: 6bbc06bed3afeedb9b1267166f409703d95e42f31d688fbdfd17e440d0c459fa
5
5
  SHA512:
6
- metadata.gz: 26d70402fa6651c4301a828e35b4c70baf576f222e10d6fb002b9ff4a5a895ad42ca61c0d669b9d14ddc524ffac02abdef7aeb36a6291f37cb0f0dc2bf2efc13
7
- data.tar.gz: 4790f51d8ddd56ea4447fa4740a7fddf652808eeec463181b047dbfd2257458843291a9f1855acb97c48df6e0e0c823a45ce7312d861874c8003792ad007a33d
6
+ metadata.gz: 7ed7276a40039da9213a6a348d3c74cd4143567f7541623af0342d78be0bbe56dec57d18d066255b1afa8159e09055beace88a7b0af1eef2bfebc3d3e907321f
7
+ data.tar.gz: bf3d850afcde0f092b666d9638d2f36822c0a1a6dce8f59b4af8903f690c89f0bebbd5ed920a870526c34bed12b4911c2cd24920d84ea98649a43c5794d4be41
@@ -1,5 +1,7 @@
1
1
  ## Current
2
2
 
3
+ ## Release v1.1.0.pre1, edge v0.4.0.pre1 (15 Aug 2018)
4
+
3
5
  concurrent-ruby:
4
6
 
5
7
  * [Promises](http://ruby-concurrency.github.io/concurrent-ruby/1.1.0/Concurrent/Promises.html)
data/README.md CHANGED
@@ -144,7 +144,7 @@ Thread-safe variables:
144
144
  A boolean value that can be updated atomically.
145
145
  * [AtomicFixnum](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicFixnum.html)
146
146
  A numeric value that can be updated atomically.
147
- * [AtomicReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/MutexAtomic.html)
147
+ * [AtomicReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicReference.html)
148
148
  An object reference that may be updated atomically.
149
149
  * [Exchanger](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Exchanger.html)
150
150
  A synchronization point at which threads can pair and swap elements within pairs. Based on
@@ -178,7 +178,7 @@ Thread-safe variables:
178
178
  A read/write lock with reentrant and upgrade features.
179
179
  * [Semaphore](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Semaphore.html)
180
180
  A counting-based locking mechanism that uses permits.
181
- * [AtomicMarkableReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Atomic/AtomicMarkableReference.html)
181
+ * [AtomicMarkableReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicMarkableReference.html)
182
182
 
183
183
  #### Deprecated
184
184
 
@@ -172,6 +172,32 @@ module Concurrent
172
172
  end
173
173
 
174
174
  include NewChannelIntegration
175
+
176
+ # @!macro promises.shortcut.on
177
+ # @return [Future]
178
+ # @!macro warn.edge
179
+ def zip_futures_over(enumerable, &future_factory)
180
+ zip_futures_over_on default_executor, enumerable, &future_factory
181
+ end
182
+
183
+ # Creates new future which is resolved after all the futures created by future_factory from
184
+ # enumerable elements are resolved. Simplified it does:
185
+ # `zip(*enumerable.map { |e| future e, &future_factory })`
186
+ # @example
187
+ # # `#succ` calls are executed in parallel
188
+ # zip_futures_over_on(:io, [1, 2], &:succ).value! # => [2, 3]
189
+ #
190
+ # @!macro promises.param.default_executor
191
+ # @param [Enumerable] enumerable
192
+ # @yield a task to be executed in future
193
+ # @yieldparam [Object] element from enumerable
194
+ # @yieldreturn [Object] a value of the future
195
+ # @return [Future]
196
+ # @!macro warn.edge
197
+ def zip_futures_over_on(default_executor, enumerable, &future_factory)
198
+ # ZipFuturesPromise.new_blocked_by(futures_and_or_events, default_executor).future
199
+ zip_futures_on(default_executor, *enumerable.map { |e| future e, &future_factory })
200
+ end
175
201
  end
176
202
 
177
203
  end
@@ -169,8 +169,6 @@ module Concurrent
169
169
  def chain_throttled_by(throttle, *args, &block)
170
170
  throttled_by(throttle) { |trigger| trigger.chain(*args, &block) }
171
171
  end
172
-
173
- # TODO (pitr-ch 11-Jul-2018): add other then/rescue methods
174
172
  end
175
173
 
176
174
  include ThrottleIntegration
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concurrent-ruby-edge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.pre1
4
+ version: 0.4.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry D'Antonio
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-08-15 00:00:00.000000000 Z
13
+ date: 2018-09-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: concurrent-ruby
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 1.1.0.pre1
21
+ version: 1.1.0.pre2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 1.1.0.pre1
28
+ version: 1.1.0.pre2
29
29
  description: |
30
30
  These features are under active development and may change frequently. They are expected not to
31
31
  keep backward compatibility (there may also lack tests and documentation). Semantic versions will