libexec 0.2.1 → 0.2.2

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: 8705278823a3fe7c5edd0913befd194389f692ed9833396138a0a97d75b6f72b
4
- data.tar.gz: 0eccd36d324534284495454e5116890c4620a63657d8fa44dca2fec36f837b49
3
+ metadata.gz: 88d970febf501ba9372769e1d9e133f7b2ba925f746cd0f548678d380f9febf9
4
+ data.tar.gz: '0902086c184c1e813ce6dab467f59c5b4b6a90414b248707267c7c3bfd7e46ff'
5
5
  SHA512:
6
- metadata.gz: 8062c95b812bf5f3e5d7d491984bfdfd842a54a4e1446af536476832c720dd9f1d8807c9c4b70936163a8d14b282eb703f6cec072eabb33ba8e54fb836c62e91
7
- data.tar.gz: 3bc5590a2d359db0d1efbea7ccef0f447ecb8ecbe74e9e20bebfce3ec049b7a33ef8ab5b994febac6fbfc276185e7b438ee6d7d71cc9814aa97a6c21e721bf7d
6
+ metadata.gz: ea31a1801ef196301ac6035e75fffbf9be1695f64406d2fc4321d467cd9db27874cdc6b26044ab61c17906d7ca0bb8928e901aa6fecbe9075fd57343bb3923cf
7
+ data.tar.gz: 6be76f8b62e4003dd09a8d1ac06ad7070de2077637a51158480dda664e70eecc46f3f1c1da5dcd1757d33abb636be1134894e34c7b5486247feec7aab6129b35
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- libexec (0.2.1)
4
+ libexec (0.2.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/libexec/exec.rb CHANGED
@@ -34,7 +34,8 @@ module Libexec
34
34
  # @return [Array] line.chomp
35
35
  def by_ls_1(*argv, **opts)
36
36
  arr = []
37
- each_line("ls", "-1", argv, opts: opts) do |line|
37
+ argv.unshift(["ls", "-1"])
38
+ each_line(argv, opts: opts) do |line|
38
39
  arr.push line.chomp
39
40
  end
40
41
  arr
@@ -44,7 +45,8 @@ module Libexec
44
45
  #
45
46
  # @param [Array] argv
46
47
  def each_ls_1(*argv, **opts, &block)
47
- each_line("ls", "-1", argv, opts: opts, &block)
48
+ argv.unshift(["ls", "-1"])
49
+ each_line(argv, opts: opts, &block)
48
50
  end
49
51
 
50
52
  # wrapper for Process.spawn
@@ -52,25 +54,19 @@ module Libexec
52
54
  #
53
55
  # @return [Integer]
54
56
  def code(*argv, **opts)
55
- catch_error = opts[:catch_error]
56
- code = opts[:code]
57
+ opt_catch_error = opts[:catch_error]
58
+ opt_code = opts[:code]
57
59
 
58
- if argv.size < 2
59
- catch_error ||= false
60
- code ||= 1
60
+ *args, last_arg = argv
61
61
 
62
- cmd = _js_style_cmd(argv)
63
- else
64
- is_integer = argv.last.instance_of?(Integer)
65
-
66
- catch_error ||= is_integer
67
- code ||= (argv.last if is_integer) || 1
68
-
69
- args = argv.clone
70
- args.pop
71
- cmd = is_integer ? _js_style_cmd(args) : _js_style_cmd(argv)
72
- end
62
+ is_integer = last_arg.instance_of?(Integer)
63
+ arg_catch_error = is_integer
64
+ arg_code = is_integer ? last_arg : false
65
+
66
+ catch_error = arg_catch_error|| opt_catch_error || false
67
+ code = arg_code || opt_code || 1
73
68
 
69
+ cmd = is_integer ? _js_style_cmd(args) : _js_style_cmd(argv)
74
70
  Process.spawn(cmd)
75
71
  Process.wait
76
72
 
@@ -110,19 +106,7 @@ module Libexec
110
106
  def _ruby_style_cmd(argv)
111
107
  cmd, *args = argv
112
108
 
113
- unless args.empty?
114
- arr = [cmd]
115
- args.each do |arg|
116
- # https://docs.ruby-lang.org/en/master/Kernel.html#method-i-class
117
- if arg.instance_of?(Array)
118
- arr.concat(arg)
119
- elsif arg.instance_of?(String)
120
- arr.push(arg)
121
- end
122
- end
123
- cmd = arr
124
- end
125
- cmd
109
+ args.empty? ? cmd : argv.flatten
126
110
  end
127
111
 
128
112
  # in JS style, all arg connect with " " <br>
@@ -140,7 +124,7 @@ module Libexec
140
124
  args.each do |arg|
141
125
  if arg.instance_of?(Array)
142
126
  arr.push(%('#{arg.join(" ")}'))
143
- elsif arg.instance_of?(String)
127
+ else
144
128
  arr.push(arg)
145
129
  end
146
130
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Libexec
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
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.1
4
+ version: 0.2.2
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-27 00:00:00.000000000 Z
11
+ date: 2022-12-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Wrapper for ruby exec shell command.
14
14
  email: