libexec 0.2.2 → 0.2.3

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: 39183dc74cb3558b5ba20133a73e3202c68b0ac9442c6ba1896779ec67e1e245
4
+ data.tar.gz: a081c654611d7e2cd45cb040404f47c8580ab4c3e0e645a7a0623b5b45290288
5
5
  SHA512:
6
- metadata.gz: ea31a1801ef196301ac6035e75fffbf9be1695f64406d2fc4321d467cd9db27874cdc6b26044ab61c17906d7ca0bb8928e901aa6fecbe9075fd57343bb3923cf
7
- data.tar.gz: 6be76f8b62e4003dd09a8d1ac06ad7070de2077637a51158480dda664e70eecc46f3f1c1da5dcd1757d33abb636be1134894e34c7b5486247feec7aab6129b35
6
+ metadata.gz: 7b48aa89b8c5568786c17dd9b65f0e9acdc298f13bf38367dea47604edbd4d609def88dbdab5fc0e59bdfd76f73fef8fe8b57c09035bd5e593c9240470c2807d
7
+ data.tar.gz: a4e4cc5c5a2df4fccd72e770d1fac588cfe844e9f83f135b038a38a103d4e2c05950acbea844f1363dd439c3c4fc6ffba12dfdd6c9e09fb1a9f7ea89ebe7c28a
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.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/libexec/exec.rb CHANGED
@@ -32,11 +32,15 @@ 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
40
44
  end
41
45
  arr
42
46
  end
@@ -44,9 +48,13 @@ module Libexec
44
48
  # Operate each line result by yourself in `ls -1`
45
49
  #
46
50
  # @param [Array] argv
47
- def each_ls_1(*argv, **opts, &block)
48
- argv.unshift(["ls", "-1"])
49
- each_line(argv, opts: opts, &block)
51
+ def each_ls_1(*argv, env: {}, mode: "r", **opts, &block)
52
+ argv.unshift("ls", "-1")
53
+ cmd = _js_style_cmd(argv)
54
+
55
+ IO.popen(env, cmd, mode, opts) do |pipe|
56
+ pipe.each_line(&block)
57
+ end
50
58
  end
51
59
 
52
60
  # wrapper for Process.spawn
@@ -62,20 +70,21 @@ module Libexec
62
70
  is_integer = last_arg.instance_of?(Integer)
63
71
  arg_catch_error = is_integer
64
72
  arg_code = is_integer ? last_arg : false
65
-
66
- catch_error = arg_catch_error|| opt_catch_error || false
73
+
74
+ catch_error = arg_catch_error || opt_catch_error || false
67
75
  code = arg_code || opt_code || 1
68
76
 
69
77
  cmd = is_integer ? _js_style_cmd(args) : _js_style_cmd(argv)
70
78
  Process.spawn(cmd)
71
79
  Process.wait
72
80
 
73
- result = $?.exitstatus.zero?
81
+ original_code = $?.exitstatus
82
+ result = original_code.zero?
74
83
 
75
84
  if catch_error && !result
76
85
  exit code
77
86
  else
78
- $?.exitstatus
87
+ original_code
79
88
  end
80
89
  rescue Errno::ENOENT => _e
81
90
  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.3"
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.3
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-01-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Wrapper for ruby exec shell command.
14
14
  email: