dorian-parallel 0.2.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/parallel +11 -6
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7276653ec8d4cf298a0e1206b1bbe0d053f15aa088f594173853cd4fc91172a
4
- data.tar.gz: 62c1326c92d4a88f87ac7bc2238bf9a4051938a73028624ea632106c8cd1945f
3
+ metadata.gz: bfba0dfc150be77a2e94518e0fd646854c99a63e7cc827d09ee7b0fb7b4cc184
4
+ data.tar.gz: 81097441dc78243c09aa0d3e409673cb9a98503162cac668aa850d378d225d2d
5
5
  SHA512:
6
- metadata.gz: 68fb1cc418093c280a3f75b96d0fcddded5ce4aec992961b2dff466a2de4fb6ac1ba63ac439a069fc66b3d47c47a34d30c1e365b8208361f7321af05b50eb701
7
- data.tar.gz: c5eb3e4a84cedf0348c3403d06edc1b4763be89dcd961a0e623959a9b46d5aff0b6ca6bd38ab946c1fe396ea74a3b3fe765546abce573de9e8fdb737ecba702e
6
+ metadata.gz: b97aae3db16d4e7bf7f8e06f708775ae45dcb5917d7b2d14c359df22104bfd94adc5655023679b6c38dfac98c17b26b8af4e90d1839845c0856c16186ef65c6e
7
+ data.tar.gz: e6c1f41262ca9a458ac06a78fd423da13578280c3ef932284d7b6180fd3f663c4781803670481af626b5a22c6a6c6f8206f237bbe3771e4484b3bf3467b268db
data/bin/parallel CHANGED
@@ -1,14 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "dorian/arguments"
4
5
  require "parallel"
5
6
 
6
- if ARGV.size != 1 || ARGV[0] == "--help" || ARGV[0] == "-h"
7
- puts "USAGE: ... | parallel CODE"
8
- exit
7
+ parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
8
+
9
+ abort parsed.help if parsed.options.help
10
+
11
+ if parsed.options.version
12
+ abort File.read(File.expand_path("../../VERSION", __FILE__))
9
13
  end
10
14
 
11
- Parallel.each($stdin.each_line.to_a) do |it|
12
- it.strip!
13
- eval(ARGV.first)
15
+ input = parsed.files.map { |file| File.read(file) }.join("\n")
16
+ 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(" "))
14
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-parallel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-18 00:00:00.000000000 Z
11
+ date: 2024-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dorian-arguments
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: evaluates some code on each line of the input in parallel
28
42
  email: dorian@dorianmarie.com
29
43
  executables: