enumerator-parallel 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 0110030333f9eec58ce303e42ae38ebab22c19dc
4
- data.tar.gz: d266952bd291bda725ce36e93e626f85b1b7098e
3
+ metadata.gz: 017e6dc651f791d27ee297fedc72c5107e37640a
4
+ data.tar.gz: f0bc9e0aa37f12f488b8eb537f475a968a19ad9b
5
5
  SHA512:
6
- metadata.gz: 73fe21c3f0ce33cfcf12a3a7365e52b3b3869e37e574caa027c52cec9c2faf83759e68c35a4be6691320f8911c7c4a438eb74fd0ea8d71b59f3a04b6dcd0677f
7
- data.tar.gz: f932b3c47b0c4718d00c9fe830fcbd704e911e87b6aa9241611d43ee3c595403493f74500c7512ad57a976f0973e7032dcf6a6d495296984ff2c6a1a6c58cc58
6
+ metadata.gz: e8128e9204e4e494e08e440c76f64a128811219ea4f072505e63d1bcef84b9a0261200e3f309c190f5ee99963876e1b925701580e526762b2a49ef84d71cd373
7
+ data.tar.gz: f757a735dbf87ceb44ea2e924e820d433663636895a1efee4904c543609649884fbcc80377f477bdf409b780d69b52b1f6e6a9f54dc2ae9cf01753ea7b2dca0a
@@ -1,3 +1,16 @@
1
1
  language: ruby
2
+ sudo: false
3
+ cache:
4
+ - bundler
5
+
6
+ bundler:
2
7
  rvm:
3
- - 2.2.1
8
+ - 2.2
9
+ - 2.1
10
+ - 2.0
11
+ - ruby-head
12
+ - jruby-head
13
+ - rbx-2
14
+
15
+ notifications:
16
+ email: false
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in enumerator-parallel.gemspec
3
+ gem 'pry'
4
4
  gemspec
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'parallel'
21
+ spec.add_dependency 'parallel', ['>=1.4.1']
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.9"
24
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency 'bundler', ['>= 1.0.0']
24
+ spec.add_development_dependency 'rake', ['>= 0']
25
25
  spec.add_development_dependency "minitest"
26
26
  end
@@ -9,17 +9,35 @@ module Enumerable
9
9
  end
10
10
 
11
11
  class Enumerator::Parallel
12
- include Enumerable
13
12
  def initialize(enum, options)
14
13
  mappings = { processes: :in_processes, threads: :in_threads }
15
- @enum, @options = enum, Hash[options.map { |k, v| [(mappings[k] || k), v] }]
14
+ @enum, @options = enum.to_a, Hash[options.map { |k, v| [(mappings[k] || k), v] }]
16
15
  end
17
16
 
18
- def each(options = {}, &block)
17
+ def each(&block)
19
18
  ::Parallel.each(@enum, @options, &block)
20
19
  end
21
20
 
22
- def map(options = {}, &block)
21
+ def map(&block)
23
22
  ::Parallel.map(@enum, @options, &block)
24
23
  end
24
+
25
+ def all?(&block)
26
+ map(&block).all?
27
+ end
28
+
29
+ def any?(&block)
30
+ map(&block).any?
31
+ end
32
+
33
+ %w|group_by select reject|.each do |mth|
34
+ define_method(mth) do |*args, &block|
35
+ map_num = map(&block)
36
+ @enum.send(mth).with_index { |_, i| map_num[i] }
37
+ end
38
+ end
39
+
40
+ def count(&block)
41
+ map(&block).count(true)
42
+ end
25
43
  end
@@ -1,3 +1,3 @@
1
1
  module ParallelEnumerable
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enumerator-parallel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gogotanaka
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-05-01 00:00:00.000000000 Z
11
+ date: 2015-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.4.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.4.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.9'
33
+ version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.9'
40
+ version: 1.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement