kelredd-useful 0.3.4 → 0.3.5
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.
- data/Rakefile +4 -1
- data/lib/useful/ruby_extensions/object.rb +22 -0
- data/lib/useful/version.rb +1 -1
- metadata +38 -6
data/Rakefile
CHANGED
@@ -18,7 +18,10 @@ spec = Gem::Specification.new do |s|
|
|
18
18
|
s.homepage = 'http://code.kelredd.com'
|
19
19
|
s.files = %w(README.rdoc Rakefile) + Dir.glob("{lib}/**/*")
|
20
20
|
# s.executables = ['useful']
|
21
|
-
|
21
|
+
|
22
|
+
s.add_development_dependency("shoulda", [">= 2.10.2"])
|
23
|
+
s.add_development_dependency("leftright", [">= 0.0.6"])
|
24
|
+
|
22
25
|
s.add_dependency('json')
|
23
26
|
end
|
24
27
|
|
@@ -28,6 +28,28 @@ module Useful::RubyExtensions::Object
|
|
28
28
|
$stderr = STDERR
|
29
29
|
end
|
30
30
|
|
31
|
+
# Invokes a system command using `` and
|
32
|
+
# pass the status and result to a given block
|
33
|
+
def sudo(cmd, logger=nil, &block)
|
34
|
+
begin
|
35
|
+
require 'open4' unless defined?(::Open4)
|
36
|
+
rescue LoadError => err
|
37
|
+
puts "you need open4 to run the sudo helper: gem install open4"
|
38
|
+
else
|
39
|
+
logger.debug "`sudo #{cmd}` ..." if logger && logger.respond_to?(:debug)
|
40
|
+
result = {}
|
41
|
+
status = Open4.popen4("sudo #{cmd}") do |pid, stdin_io, stdout_io, stderr_io|
|
42
|
+
result[:out] = stdout_io.gets
|
43
|
+
result[:err] = stderr_io.gets
|
44
|
+
end
|
45
|
+
if block
|
46
|
+
block.call(status, status.success? ? result[:out] : result[:err])
|
47
|
+
else
|
48
|
+
status
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
31
53
|
module FromActivesupport
|
32
54
|
|
33
55
|
def blank?
|
data/lib/useful/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kelredd-useful
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 5
|
10
|
+
version: 0.3.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kelly Redding
|
@@ -15,13 +15,45 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-08-
|
18
|
+
date: 2010-08-28 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
22
|
+
name: shoulda
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 35
|
30
|
+
segments:
|
31
|
+
- 2
|
32
|
+
- 10
|
33
|
+
- 2
|
34
|
+
version: 2.10.2
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: leftright
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 19
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 0
|
49
|
+
- 6
|
50
|
+
version: 0.0.6
|
51
|
+
type: :development
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: json
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
25
57
|
none: false
|
26
58
|
requirements:
|
27
59
|
- - ">="
|
@@ -31,7 +63,7 @@ dependencies:
|
|
31
63
|
- 0
|
32
64
|
version: "0"
|
33
65
|
type: :runtime
|
34
|
-
version_requirements: *
|
66
|
+
version_requirements: *id003
|
35
67
|
description:
|
36
68
|
email: kelly@kelredd.com
|
37
69
|
executables: []
|