dorian-parallel 1.0.0 → 1.1.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/parallel +51 -3
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bfba0dfc150be77a2e94518e0fd646854c99a63e7cc827d09ee7b0fb7b4cc184
4
- data.tar.gz: 81097441dc78243c09aa0d3e409673cb9a98503162cac668aa850d378d225d2d
3
+ metadata.gz: 1358310af95a41f3977ea2553163925aaccea62287d89ddc80a4561fcb12c2c9
4
+ data.tar.gz: 77fd027ef61db1b990c9da8a4a8ebe2f2af214879c58d4e99c88d4bc85e130e6
5
5
  SHA512:
6
- metadata.gz: b97aae3db16d4e7bf7f8e06f708775ae45dcb5917d7b2d14c359df22104bfd94adc5655023679b6c38dfac98c17b26b8af4e90d1839845c0856c16186ef65c6e
7
- data.tar.gz: e6c1f41262ca9a458ac06a78fd423da13578280c3ef932284d7b6180fd3f663c4781803670481af626b5a22c6a6c6f8206f237bbe3771e4484b3bf3467b268db
6
+ metadata.gz: 7a78880c02aa58c914ebd088a6cad352a6d5e22053cb331daa071ac601ec75b9ef8dbf3d4930cee4476e55b5666d54c7e85a1f2d1905442115e6782b0f37717b
7
+ data.tar.gz: 5c08037bb7ac714a5dbd888e9afbdec62ecf233b099e47b53f1aadd59e10dd19e8f9e14b99ebcd59d86cd906ddc9a1739c64126517e68fb5a84852731f3b05b0
data/bin/parallel CHANGED
@@ -2,9 +2,45 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "dorian/arguments"
5
+ require "dorian/eval"
6
+ require "dorian/progress"
5
7
  require "parallel"
6
8
 
7
- parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
9
+ parsed =
10
+ Dorian::Arguments.parse(
11
+ debug: {
12
+ alias: :d
13
+ },
14
+ stdout: {
15
+ aliases: %i[out o],
16
+ default: true
17
+ },
18
+ stderr: {
19
+ aliases: %i[err e],
20
+ default: true
21
+ },
22
+ colorize: {
23
+ aliases: %i[color c],
24
+ default: true
25
+ },
26
+ progress: {
27
+ alias: :p
28
+ },
29
+ progress_format: {
30
+ type: :string,
31
+ alias: :pf,
32
+ default: "full"
33
+ },
34
+ rails: {
35
+ alias: :r
36
+ },
37
+ version: {
38
+ alias: :v
39
+ },
40
+ help: {
41
+ alias: :h
42
+ }
43
+ )
8
44
 
9
45
  abort parsed.help if parsed.options.help
10
46
 
@@ -14,6 +50,18 @@ end
14
50
 
15
51
  input = parsed.files.map { |file| File.read(file) }.join("\n")
16
52
  input = $stdin.each_line.to_a.map(&:strip).join("\n") if input.empty?
17
- Parallel.each(input.lines.map(&:strip)) do |it|
18
- eval(parsed.arguments.join(" "))
53
+ inputs = input.lines.map(&:strip)
54
+ ruby = parsed.arguments.join(" ")
55
+ debug = parsed.options.debug
56
+ progress = parsed.options.progress
57
+ stdout = parsed.options.stdout
58
+ stderr = parsed.options.stderr
59
+ colorize = parsed.options.colorize
60
+ total = inputs.size
61
+ format = parsed.options.progress_format
62
+ progress = progress ? Dorian::Progress.create(total:, format:) : nil
63
+
64
+ Parallel.each(inputs) do |it|
65
+ Dorian::Eval.eval(it:, ruby:, debug:, stdout:, stderr:, colorize:)
66
+ progress&.increment
19
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-parallel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié