verbose-shell 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 45176805da1815cd32e5b2658210377015a33569
4
- data.tar.gz: 4d06db99d4bbb8d4911c25ee03eadb9ecd3d0f9c
2
+ SHA256:
3
+ metadata.gz: 90d07ea3e5853507969b6f06f4b6dae0520e4e40eb9b18427853abd40d50f95f
4
+ data.tar.gz: 7da29971d77d9a4771b054d2f1efe26871ae823239aef7e59299ff6c32e50e17
5
5
  SHA512:
6
- metadata.gz: 1eb493e6c68f112dec5ade35a36f257523d13775ad7149651e120ae901e9ee20772e169cf2ab8514f29c2ef4505bead0aa8c5ea032a7011f97a07cd66a37135a
7
- data.tar.gz: c98c1748f254665b5296de2b14b40fd5b07c74967b500bce25ca719203a3515ecb15e419610f758c20d80481bb0d9090d8c25cec53ee464e52a812572c1b5731
6
+ metadata.gz: cd6a6b7e1c057b72061cadb03c57b10b13a668121cdcfb9c081f4ae045b200cd9364fba18987cfafca62fd5c5be4373f3a81a130ac00a8e14f74eb77852aa541
7
+ data.tar.gz: c17c10aee9c3f1eb029d3ef19207b5ed91c2bcd549d69918ecfeff9f31dca02859c10e02fd1264dcbffd316092d9f19e51e89328a68a3cdba52d321550529e2d
@@ -1,3 +1,3 @@
1
1
  module VerboseShell
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.1"
3
3
  end
data/lib/verbose-shell.rb CHANGED
@@ -29,10 +29,11 @@ class VerboseShell
29
29
 
30
30
  def system(*args)
31
31
  system_trace *args
32
- if @verbose > 0
33
- Kernel.system *args or raise ShellError.new('', args, $?.exitstatus).message.lstrip
32
+ args, opts = args.last.is_a?(Hash) ? [args[0..-2], args.last.dup] : [args, {}]
33
+ if opts.delete(:loud) or @verbose > 0
34
+ Kernel.system(*args, opts) or raise ShellError.new('', args, $?.exitstatus).message.lstrip
34
35
  else
35
- output = IO.popen(args + [{:err => [:child, :out]}]) {|io| io.read}
36
+ output = IO.popen(args, opts.merge({:err => [:child, :out]})) {|io| io.read}
36
37
  raise ShellError.new(output, args, $?.exitstatus) if $? != 0
37
38
  end
38
39
  end
@@ -76,10 +77,13 @@ class VerboseShell
76
77
  def chown_R_formatter(method, user, group, file)
77
78
  chown_formatter(method, user, group, file)
78
79
  end
80
+ def mkdir_p_formatter(method, file)
81
+ method_to_a(method) + (file.is_a?(Array) ? file : [file])
82
+ end
79
83
 
80
84
  def method_missing(method, *args, &block)
81
- system_trace self.respond_to?("#{method}_formatter") ? self.send("#{method}_formatter", method, *args)
82
- : method_to_a(method) + args
85
+ system_trace *(self.respond_to?("#{method}_formatter") ? self.send("#{method}_formatter", method, *args)
86
+ : method_to_a(method) + args)
83
87
  FileUtils.send(method, *args, &block)
84
88
  end
85
89
  end
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_dependency 'pastel', '~> 0.7.2'
25
25
 
26
- spec.add_development_dependency "bundler", "~> 1.15"
27
- spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "bundler", "~> 2.2.33"
27
+ spec.add_development_dependency "rake", "~> 12.3.3"
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: verbose-shell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Caldwell
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-23 00:00:00.000000000 Z
11
+ date: 2025-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pastel
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.15'
33
+ version: 2.2.33
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.15'
40
+ version: 2.2.33
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: 12.3.3
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: 12.3.3
55
55
  description: sh -x like logging of FileUtils functions.
56
56
  email:
57
57
  - david@porkrind.org
@@ -88,8 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  requirements: []
91
- rubyforge_project:
92
- rubygems_version: 2.5.2.2
91
+ rubygems_version: 3.0.3.1
93
92
  signing_key:
94
93
  specification_version: 4
95
94
  summary: sh -x like logging of FileUtils functions.