libexec 0.2.2 → 0.2.4

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
  SHA256:
3
- metadata.gz: 88d970febf501ba9372769e1d9e133f7b2ba925f746cd0f548678d380f9febf9
4
- data.tar.gz: '0902086c184c1e813ce6dab467f59c5b4b6a90414b248707267c7c3bfd7e46ff'
3
+ metadata.gz: 43b02e1332cd96dfb1e4bab70252aa8a5d3446f9259c22b8244fdf12680e3169
4
+ data.tar.gz: 0670b7a4fc42d865548f0871a885986177a24b22a5fd03452869e7bd09c0147f
5
5
  SHA512:
6
- metadata.gz: ea31a1801ef196301ac6035e75fffbf9be1695f64406d2fc4321d467cd9db27874cdc6b26044ab61c17906d7ca0bb8928e901aa6fecbe9075fd57343bb3923cf
7
- data.tar.gz: 6be76f8b62e4003dd09a8d1ac06ad7070de2077637a51158480dda664e70eecc46f3f1c1da5dcd1757d33abb636be1134894e34c7b5486247feec7aab6129b35
6
+ metadata.gz: eebdc4c1f45b5f91ddddf02d57afa7c7854e6084b72993147b8e3a25e7c480d14cf4670e1876ee1fbeb0f4ead8766c0951cd22c03d648ede36d2fd9d4e52c000
7
+ data.tar.gz: 027cc4bffc4745b5e891c7652caa3a13c8a9cae517a0f8e7590e63faa6d9d0b7c122b759bc083be829b7db7bfc9d7720ff007eb88428be6f760a720273e2d833
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- libexec (0.2.2)
4
+ libexec (0.2.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/libexec/exec.rb CHANGED
@@ -32,11 +32,39 @@ module Libexec
32
32
  #
33
33
  # @param [Array] argv
34
34
  # @return [Array] line.chomp
35
- def by_ls_1(*argv, **opts)
35
+ def by_ls_1(*argv, env: {}, mode: "r", **opts)
36
36
  arr = []
37
- argv.unshift(["ls", "-1"])
38
- each_line(argv, opts: opts) do |line|
39
- arr.push line.chomp
37
+ argv.unshift("ls", "-1")
38
+ cmd = _js_style_cmd(argv)
39
+
40
+ IO.popen(env, cmd, mode, opts) do |pipe|
41
+ pipe.each_line do |line|
42
+ arr.push(line.chomp)
43
+ end
44
+ end
45
+ arr
46
+ end
47
+
48
+ def by_each_line(*argv, env: {}, mode: "r", **opts)
49
+ arr = []
50
+ cmd = _ruby_style_cmd(argv)
51
+
52
+ IO.popen(env, cmd, mode, opts) do |pipe|
53
+ pipe.each_line do |line|
54
+ arr.push(line)
55
+ end
56
+ end
57
+ arr
58
+ end
59
+
60
+ def by_each_chomp(*argv, env: {}, mode: "r", **opts)
61
+ arr = []
62
+ cmd = _ruby_style_cmd(argv)
63
+
64
+ IO.popen(env, cmd, mode, opts) do |pipe|
65
+ pipe.each_line do |line|
66
+ arr.push(line.chomp)
67
+ end
40
68
  end
41
69
  arr
42
70
  end
@@ -44,9 +72,13 @@ module Libexec
44
72
  # Operate each line result by yourself in `ls -1`
45
73
  #
46
74
  # @param [Array] argv
47
- def each_ls_1(*argv, **opts, &block)
48
- argv.unshift(["ls", "-1"])
49
- each_line(argv, opts: opts, &block)
75
+ def each_ls_1(*argv, env: {}, mode: "r", **opts, &block)
76
+ argv.unshift("ls", "-1")
77
+ cmd = _js_style_cmd(argv)
78
+
79
+ IO.popen(env, cmd, mode, opts) do |pipe|
80
+ pipe.each_line(&block)
81
+ end
50
82
  end
51
83
 
52
84
  # wrapper for Process.spawn
@@ -62,20 +94,21 @@ module Libexec
62
94
  is_integer = last_arg.instance_of?(Integer)
63
95
  arg_catch_error = is_integer
64
96
  arg_code = is_integer ? last_arg : false
65
-
66
- catch_error = arg_catch_error|| opt_catch_error || false
97
+
98
+ catch_error = arg_catch_error || opt_catch_error || false
67
99
  code = arg_code || opt_code || 1
68
100
 
69
101
  cmd = is_integer ? _js_style_cmd(args) : _js_style_cmd(argv)
70
102
  Process.spawn(cmd)
71
103
  Process.wait
72
104
 
73
- result = $?.exitstatus.zero?
105
+ original_code = $?.exitstatus
106
+ result = original_code.zero?
74
107
 
75
108
  if catch_error && !result
76
109
  exit code
77
110
  else
78
- $?.exitstatus
111
+ original_code
79
112
  end
80
113
  rescue Errno::ENOENT => _e
81
114
  127
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Libexec
4
- VERSION = "0.2.2"
4
+ VERSION = "0.2.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libexec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - initdc
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-30 00:00:00.000000000 Z
11
+ date: 2023-02-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Wrapper for ruby exec shell command.
14
14
  email: