depth_first 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 36db9ac3107a301dabd8cd7830ca4e5dcb53c6c0
4
- data.tar.gz: 0c00543726df7a9b38c29874cd302aef9d418217
3
+ metadata.gz: 004cfea664a99a0725fd1fa2ed8e5ea84d188134
4
+ data.tar.gz: d14d142ad110bfa78bbe138cd092c28980ce299b
5
5
  SHA512:
6
- metadata.gz: bf455fc67f46ac081cc424b4a7767582816b1865844ad1348dd0c0cf124241602ccb65ec8d829db420c1b9644aeda76498205f7eb65c1434658fb7dee7b4201d
7
- data.tar.gz: ac79656baa7ae96acb584943a6791ae0c9dc259095d3b006ed18bc8ea56a90f6db9e797e79d08085664d2bd237505eb79ab109bb5b90bb0b07f48cb00cf6b9cc
6
+ metadata.gz: ea304ac1ff3e9b53a1de672b23ed4164e7695fa892e6c7371c9a1ed78b1de671ea85a9c800ad3a6f1a4dc1b92f97c87c71adedf34667d0031ef10991084f5299
7
+ data.tar.gz: 74a90d9583919ac040b1e9b6c26e410dfad6f4bbc3c1ec13e2c7f16b7f0f9b8bfed2aeba8d46f5d695a678163d389cfc31c14a70fdf55eb3417f4cc4a95ce9e2
data/lib/depth_first.rb CHANGED
@@ -1,9 +1,7 @@
1
1
  require 'concurrent'
2
2
  require 'depth_first/task'
3
- require 'depth_first/parallel_aggregator'
4
- require 'depth_first/parallel_organizer'
5
- require 'depth_first/sequential_aggregator'
6
3
  require 'depth_first/sequential_organizer'
4
+ require 'depth_first/parallel_organizer'
7
5
  require 'depth_first/version'
8
6
 
9
7
  # Namespace
@@ -1,12 +1,9 @@
1
1
  module DepthFirst
2
2
  # Base parallel organizer class
3
- class ParallelOrganizer < Task
4
- TASKS = [].freeze
5
-
3
+ class ParallelOrganizer < SequentialOrganizer
6
4
  def perform
7
- self.class::TASKS
8
- .map { |task| execute_promise(task) }
9
- .reduce(options) { |a, e| resolve_promise(a, e) }
5
+ tasks.map { |task| execute_promise(task) }
6
+ .reduce(options) { |a, e| resolve_promise(a, e) }
10
7
  end
11
8
 
12
9
  private
@@ -4,9 +4,15 @@ module DepthFirst
4
4
  TASKS = [].freeze
5
5
 
6
6
  def perform
7
- self.class::TASKS.reduce(options) do |hsh, task|
7
+ tasks.reduce(options) do |hsh, task|
8
8
  hsh.merge(task.new(hsh).perform)
9
9
  end
10
10
  end
11
+
12
+ private
13
+
14
+ def tasks
15
+ self.class::TASKS
16
+ end
11
17
  end
12
18
  end
@@ -8,7 +8,7 @@ module DepthFirst
8
8
  end
9
9
 
10
10
  def perform
11
- options
11
+ {}
12
12
  end
13
13
  end
14
14
  end
@@ -1,3 +1,3 @@
1
1
  module DepthFirst
2
- VERSION = '0.0.5'.freeze
2
+ VERSION = '0.0.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: depth_first
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Anthony
@@ -48,9 +48,7 @@ files:
48
48
  - README.md
49
49
  - Rakefile
50
50
  - lib/depth_first.rb
51
- - lib/depth_first/parallel_aggregator.rb
52
51
  - lib/depth_first/parallel_organizer.rb
53
- - lib/depth_first/sequential_aggregator.rb
54
52
  - lib/depth_first/sequential_organizer.rb
55
53
  - lib/depth_first/task.rb
56
54
  - lib/depth_first/version.rb
@@ -1,24 +0,0 @@
1
- module DepthFirst
2
- # Base parallel aggregator class
3
- class ParallelAggregator < Task
4
- TASKS = [].freeze
5
- KEY = nil
6
-
7
- def perform
8
- key = self.class::KEY
9
- value = self.class::TASKS.map { |task| execute_promise(task) }
10
- .reduce([]) { |a, e| resolve_promise(a, e) }
11
- { key => value }
12
- end
13
-
14
- private
15
-
16
- def execute_promise(task)
17
- Concurrent::Promise.new { task.new(options).perform }.execute
18
- end
19
-
20
- def resolve_promise(arr, result)
21
- arr.push(result.value)
22
- end
23
- end
24
- end
@@ -1,13 +0,0 @@
1
- module DepthFirst
2
- # Base sequential aggregator class
3
- class SequentialAggregator < Task
4
- TASKS = [].freeze
5
- KEY = nil
6
-
7
- def perform
8
- key = self.class::KEY
9
- value = self.class::TASKS.map { |task| task.new(options).perform }
10
- { key => value }
11
- end
12
- end
13
- end