dorian-each 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/each +52 -2
  3. metadata +29 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2535892b7e895248bd296accdf5895a2bc26b757c2a5f88dafa454da31d0c4a8
4
- data.tar.gz: 85bf14385ebd419587867d3bb739e40f2b0fbcbf42dac6edf3bc1d306364980b
3
+ metadata.gz: 44309e092f94e766bcf71b6aa5dfaf199f6a03d9c5c07b2f5230f1e7a5463313
4
+ data.tar.gz: 63a19748a5f3883017241b1a878e7367efaa2cf06b0ba74d03391d30edd4f54e
5
5
  SHA512:
6
- metadata.gz: 06ddfc0903a5d5b9f1242282a911a4f6a0dc7f8725edd6a45091f187b398a87fa872b277fc43abc01e4b67e918d19f4acba2c4d0c703c6a7d70c7d02d4cf560b
7
- data.tar.gz: 85c9d8c3ccf9a059b04ecf28ac2f5814da46b0082a6cf2aab3259b1bf3ceb1d93de097141e8a451cdaf7cb8e5759b0ce62bc9241463ce39a728c2ce795a8983a
6
+ metadata.gz: fb106b922ffd95dafd6acc877c6a0d4b92a412895ad33dc8dca378f87a334314eb4e7560eb149469554f2a0a1e5969dd504fbff8fcc896b2209d8fcba374f547
7
+ data.tar.gz: 70a8bdb382804b98de4063cec9d3792a4deb4119cbf2416e491f14f0d11f20c5c7782108f533aca20a357dff67d76d4cdc4907c5eb98b39ea90d448bdc244c4b
data/bin/each CHANGED
@@ -2,8 +2,44 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "dorian/arguments"
5
+ require "dorian/eval"
6
+ require "dorian/progress"
5
7
 
6
- parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
8
+ parsed =
9
+ Dorian::Arguments.parse(
10
+ debug: {
11
+ alias: :d
12
+ },
13
+ stdout: {
14
+ aliases: %i[out o],
15
+ default: true
16
+ },
17
+ stderr: {
18
+ aliases: %i[err e],
19
+ default: true
20
+ },
21
+ colorize: {
22
+ aliases: %i[color c],
23
+ default: true
24
+ },
25
+ progress: {
26
+ alias: :p
27
+ },
28
+ progress_format: {
29
+ type: :string,
30
+ alias: :pf,
31
+ default: "full"
32
+ },
33
+ rails: {
34
+ alias: :r
35
+ },
36
+ version: {
37
+ alias: :v
38
+ },
39
+ help: {
40
+ alias: :h
41
+ }
42
+ )
7
43
 
8
44
  abort parsed.help if parsed.options.help
9
45
 
@@ -13,4 +49,18 @@ end
13
49
 
14
50
  input = parsed.files.map { |file| File.read(file) }.join("\n")
15
51
  input = $stdin.each_line.to_a.map(&:strip).join("\n") if input.empty?
16
- input.lines.map(&:strip).each { |it| eval(parsed.arguments.join(" ")) }
52
+ inputs = input.lines.map(&:strip)
53
+ ruby = parsed.arguments.join(" ")
54
+ debug = parsed.options.debug
55
+ progress = parsed.options.progress
56
+ stdout = parsed.options.stdout
57
+ stderr = parsed.options.stderr
58
+ colorize = parsed.options.colorize
59
+ total = inputs.size
60
+ format = parsed.options.progress_format
61
+ progress = progress ? Dorian::Progress.create(total:, format:) : nil
62
+
63
+ inputs.each do |it|
64
+ Dorian::Eval.eval(it:, ruby:, debug:, stdout:, stderr:, colorize:)
65
+ progress&.increment
66
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-each
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é
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dorian-eval
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'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dorian-progress
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  description: evaluates some code on each line of the input
28
56
  email: dorian@dorianmarie.com
29
57
  executables: