epitools 0.4.45 → 0.4.46
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/VERSION +1 -1
- data/epitools.gemspec +2 -2
- data/lib/epitools/autoloads.rb +1 -0
- data/lib/epitools/clitools.rb +44 -0
- metadata +8 -8
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.46
|
data/epitools.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{epitools}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.46"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["epitron"]
|
12
|
-
s.date = %q{2011-06-
|
12
|
+
s.date = %q{2011-06-24}
|
13
13
|
s.description = %q{Miscellaneous utility libraries to make my life easier.}
|
14
14
|
s.email = %q{chris@ill-logic.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/epitools/autoloads.rb
CHANGED
data/lib/epitools/clitools.rb
CHANGED
@@ -124,6 +124,50 @@ def cmd(*args)
|
|
124
124
|
system(*cmd_args)
|
125
125
|
end
|
126
126
|
|
127
|
+
|
128
|
+
#
|
129
|
+
# Prompt the user for confirmation.
|
130
|
+
#
|
131
|
+
# Usage:
|
132
|
+
# prompt("Do you want a cookie?", "Ynqa") #=> returns the letter that the user pressed, in lowercase (and returns the default, 'y', if the user hits ENTER)
|
133
|
+
#
|
134
|
+
def prompt(message="Are you sure?", options="Yn")
|
135
|
+
opts = options.scan(/./)
|
136
|
+
optstring = opts.join("/") # case maintained
|
137
|
+
defaults = opts.select{|o| o.upcase == o }
|
138
|
+
opts = opts.map{|o| o.downcase}
|
139
|
+
|
140
|
+
raise "Error: Too many default values for the prompt: #{default.inspect}" if defaults.size > 1
|
141
|
+
|
142
|
+
default = defaults.first
|
143
|
+
|
144
|
+
loop do
|
145
|
+
|
146
|
+
print "#{message} (#{optstring}) "
|
147
|
+
|
148
|
+
response = STDIN.gets.strip.downcase
|
149
|
+
|
150
|
+
case response
|
151
|
+
when *opts
|
152
|
+
return response
|
153
|
+
when ""
|
154
|
+
return default.downcase
|
155
|
+
else
|
156
|
+
puts " |_ Invalid option: #{response.inspect}. Try again."
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
|
163
|
+
#
|
164
|
+
# Automatically install a required commandline tool using the platform's package manager (incomplete -- only supports debian :)
|
165
|
+
#
|
166
|
+
# * apt-get on debian/ubuntu
|
167
|
+
# * yum on fedora
|
168
|
+
# * fink/ports on OSX
|
169
|
+
# * cygwin on windows
|
170
|
+
#
|
127
171
|
def autoinstall(*packages)
|
128
172
|
all_packages_installed = packages.all? { |pkg| Path.which pkg }
|
129
173
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epitools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.46
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-06-
|
12
|
+
date: 2011-06-24 00:00:00.000000000 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|
17
|
-
requirement: &
|
17
|
+
requirement: &83781350 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 2.2.0
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *83781350
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: mechanize
|
28
|
-
requirement: &
|
28
|
+
requirement: &83780450 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *83780450
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: sqlite3-ruby
|
39
|
-
requirement: &
|
39
|
+
requirement: &83780200 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *83780200
|
48
48
|
description: Miscellaneous utility libraries to make my life easier.
|
49
49
|
email: chris@ill-logic.com
|
50
50
|
executables: []
|