utils 0.2.0 → 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 +4 -4
- data/README.md +27 -0
- data/Rakefile +4 -2
- data/VERSION +1 -1
- data/bin/probe +10 -21
- data/lib/utils/config/config_file.rb +0 -2
- data/lib/utils/editor.rb +1 -1
- data/lib/utils/irb.rb +17 -12
- data/lib/utils/probe_server.rb +77 -39
- data/lib/utils/version.rb +1 -1
- data/utils.gemspec +6 -6
- metadata +20 -21
- data/README.rdoc +0 -15
- data/TODO +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f7479321d74ae71a8290840dfc5b08c554d1406
|
4
|
+
data.tar.gz: fae08ff9daf35e7293a2356ea88e0d373e3b3af8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1b07887fb9bd8b03cba6266075d3d75fd07234c81c3eaa9b9b9b8cc5253308deee72bd09a638a31aec908f228d08fcad3fedcb2741689d4fe62c6d7f7671940
|
7
|
+
data.tar.gz: a8fcea882bb64d1417ce923e975eea79dbd943f2bc79e5c8c0dd8397c0d1c630e09dd1e5cc6aae11f995ab8ef92479f7dc7e029378a54cc9b2ae7b7b1282b5c0
|
data/README.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Utils - Some useful command line utilities
|
2
|
+
|
3
|
+
## Description
|
4
|
+
|
5
|
+
This ruby gem provides some useful command line utilities.
|
6
|
+
|
7
|
+
## Author
|
8
|
+
|
9
|
+
Florian Frank <mailto:flori@ping.de>
|
10
|
+
|
11
|
+
## License
|
12
|
+
|
13
|
+
This is free software; you can redistribute it and/or modify it under the
|
14
|
+
terms of the GNU General Public License Version 2 as published by the Free
|
15
|
+
Software Foundation: www.gnu.org/copyleft/gpl.html
|
16
|
+
|
17
|
+
## TODO
|
18
|
+
|
19
|
+
- add script to fetch ci spec failures and create an error list
|
20
|
+
- improve backup mechanism for new configuration, interactivity?
|
21
|
+
|
22
|
+
_CHECK_
|
23
|
+
- When finding many places in the same file only jump to the first occurence if
|
24
|
+
a cli option is given.
|
25
|
+
- Make it configurable to find the same file many times via different symlinks
|
26
|
+
or to find it only once.
|
27
|
+
- Stop finder from going in infinite symlink circles
|
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ GemHadar do
|
|
13
13
|
executables Dir['bin/*'].map(&File.method(:basename))
|
14
14
|
test_dir 'tests'
|
15
15
|
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', '.AppleDouble', 'tags', '.bundle'
|
16
|
-
readme 'README.
|
16
|
+
readme 'README.md'
|
17
17
|
|
18
18
|
dependency 'tins', '~>1.0'
|
19
19
|
dependency 'term-ansicolor', '~>1.3'
|
@@ -32,9 +32,11 @@ GemHadar do
|
|
32
32
|
bindir = CONFIG["bindir"]
|
33
33
|
cd 'bin' do
|
34
34
|
for file in executables
|
35
|
+
found_first_in_path = `which #{file}`.chomp
|
36
|
+
found_first_in_path.empty? or rm found_first_in_path
|
35
37
|
install(file, bindir, :mode => 0755)
|
36
38
|
end
|
37
39
|
end
|
38
|
-
sh 'gem install tins term-ansicolor pstree pry-editline'
|
40
|
+
ENV['NO_GEMS'].to_i == 1 or sh 'gem install tins term-ansicolor pstree pry-editline'
|
39
41
|
end
|
40
42
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/bin/probe
CHANGED
@@ -17,10 +17,8 @@ Options are
|
|
17
17
|
-n TESTNAME run the test TESTNAME in file FILENAME
|
18
18
|
-t FRAMEWORK use test framework FRAMEWORK (rspec, test-unit or cucumber)
|
19
19
|
-c start probe as a client
|
20
|
-
-C start probe as a client console
|
21
20
|
-l start probe as a server
|
22
21
|
-p PORT listen on/connect to local port PORT
|
23
|
-
-z use zeus
|
24
22
|
-h display this help
|
25
23
|
|
26
24
|
Version is #{File.basename($0)} #{Utils::VERSION}.
|
@@ -39,11 +37,16 @@ def find_cmd(*cmds)
|
|
39
37
|
end
|
40
38
|
|
41
39
|
def zeus?
|
42
|
-
|
40
|
+
!`which zeus`.empty? && test(?S, '.zeus.sock')
|
41
|
+
end
|
42
|
+
singleton_class.class_eval do
|
43
|
+
memoize_function :zeus?
|
43
44
|
end
|
44
45
|
|
45
46
|
def start_server
|
46
47
|
Thread.abort_on_exception = $DEBUG
|
48
|
+
zeus? and
|
49
|
+
puts "Found a zeus socket file, I'll try to use it for running tests."
|
47
50
|
|
48
51
|
begin
|
49
52
|
DRb.start_service
|
@@ -51,14 +54,7 @@ def start_server
|
|
51
54
|
rescue DRb::DRbConnError
|
52
55
|
end
|
53
56
|
|
54
|
-
|
55
|
-
DRb.start_service($uri, Utils::ProbeServer.new)
|
56
|
-
begin
|
57
|
-
DRb.thread.join
|
58
|
-
rescue Interrupt
|
59
|
-
warn " *** Interrupted ***"
|
60
|
-
exit
|
61
|
-
end
|
57
|
+
Utils::ProbeServer.new($uri).start
|
62
58
|
end
|
63
59
|
|
64
60
|
def connect_server
|
@@ -72,10 +68,6 @@ def connect_server
|
|
72
68
|
}
|
73
69
|
probe_server.enqueue opts + $args
|
74
70
|
exit
|
75
|
-
elsif $opt['C']
|
76
|
-
ARGV.clear
|
77
|
-
Tins::IRB.examine probe_server
|
78
|
-
exit
|
79
71
|
end
|
80
72
|
end
|
81
73
|
|
@@ -88,19 +80,16 @@ if i = ARGV.index('--')
|
|
88
80
|
else
|
89
81
|
$args = ARGV.dup
|
90
82
|
end
|
91
|
-
$opt = go '
|
83
|
+
$opt = go 'lcp:t:n:h', $args
|
92
84
|
$opt['h'] and usage
|
93
|
-
$opt['z'] ||= $config.probe.zeus
|
94
|
-
if $opt['z'] && !zeus?
|
95
|
-
warn "Zeus support was enabled, but is not installed!"
|
96
|
-
end
|
97
85
|
|
98
86
|
$uri = "druby://localhost:#{$opt['p'] || 6623}"
|
99
87
|
|
100
88
|
case
|
101
89
|
when $opt['l']
|
102
90
|
start_server
|
103
|
-
|
91
|
+
exit
|
92
|
+
when $opt['c']
|
104
93
|
connect_server
|
105
94
|
end
|
106
95
|
|
data/lib/utils/editor.rb
CHANGED
@@ -7,7 +7,7 @@ require 'pstree'
|
|
7
7
|
module Utils
|
8
8
|
class Editor
|
9
9
|
FILE_LINENUMBER_REGEXP = /\A\s*([^:]+):(\d+)/
|
10
|
-
CLASS_METHOD_REGEXP = /\A([A-Z][\w:]+)([#.])(\
|
10
|
+
CLASS_METHOD_REGEXP = /\A([A-Z][\w:]+)([#.])([\w!?]+)/
|
11
11
|
|
12
12
|
module SourceLocationExtension
|
13
13
|
include Tins::DeepConstGet
|
data/lib/utils/irb.rb
CHANGED
@@ -12,17 +12,6 @@ require 'drb'
|
|
12
12
|
$editor = Utils::Editor.new
|
13
13
|
$pager = ENV['PAGER'] || 'less -r'
|
14
14
|
|
15
|
-
if IRB.conf[:PROMPT]
|
16
|
-
IRB.conf[:PROMPT][:CUSTOM] = {
|
17
|
-
:PROMPT_I => ">> ",
|
18
|
-
:PROMPT_N => ">> ",
|
19
|
-
:PROMPT_S => "%l> ",
|
20
|
-
:PROMPT_C => "+> ",
|
21
|
-
:RETURN => " # => %s\n"
|
22
|
-
}
|
23
|
-
IRB.conf[:PROMPT_MODE] = :CUSTOM
|
24
|
-
end
|
25
|
-
|
26
15
|
module Utils
|
27
16
|
module IRB
|
28
17
|
|
@@ -493,9 +482,26 @@ module Utils
|
|
493
482
|
end
|
494
483
|
|
495
484
|
end
|
485
|
+
|
486
|
+
def self.configure
|
487
|
+
::IRB.conf[:SAVE_HISTORY] = 1000
|
488
|
+
if ::IRB.conf[:PROMPT]
|
489
|
+
::IRB.conf[:PROMPT][:CUSTOM] = {
|
490
|
+
:PROMPT_I => ">> ",
|
491
|
+
:PROMPT_N => ">> ",
|
492
|
+
:PROMPT_S => "%l> ",
|
493
|
+
:PROMPT_C => "+> ",
|
494
|
+
:RETURN => " # => %s\n"
|
495
|
+
}
|
496
|
+
::IRB.conf[:PROMPT_MODE] = :CUSTOM
|
497
|
+
end
|
498
|
+
end
|
496
499
|
end
|
497
500
|
end
|
498
501
|
|
502
|
+
Utils::IRB.configure
|
503
|
+
|
504
|
+
|
499
505
|
module IRB
|
500
506
|
class Context
|
501
507
|
def init_save_history
|
@@ -561,7 +567,6 @@ module IRB
|
|
561
567
|
end
|
562
568
|
end
|
563
569
|
end
|
564
|
-
IRB.conf[:SAVE_HISTORY] = 1000
|
565
570
|
|
566
571
|
if defined?(ActiveRecord::Relation) && !ActiveRecord::Relation.method_defined?(:examine)
|
567
572
|
class ActiveRecord::Relation
|
data/lib/utils/probe_server.rb
CHANGED
@@ -32,7 +32,7 @@ module Utils
|
|
32
32
|
case @ok
|
33
33
|
when false then 'n'
|
34
34
|
when true then 'y'
|
35
|
-
else '
|
35
|
+
else '…'
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -47,26 +47,67 @@ module Utils
|
|
47
47
|
|
48
48
|
def inspect
|
49
49
|
ok_colorize(
|
50
|
-
"
|
50
|
+
"#<Job id=#{id} args=#{args.inspect} ok=#{ok}>"
|
51
51
|
)
|
52
52
|
end
|
53
53
|
|
54
54
|
alias to_s inspect
|
55
55
|
end
|
56
56
|
|
57
|
-
def initialize
|
57
|
+
def initialize(uri)
|
58
|
+
@uri = uri
|
58
59
|
@history = [].freeze
|
59
60
|
@jobs_queue = Queue.new
|
60
61
|
@current_job_id = 0
|
61
62
|
Thread.new { work_loop }
|
62
63
|
end
|
63
64
|
|
65
|
+
def start
|
66
|
+
output_message "Starting probe server listening to #{@uri.inspect}.", type: :info
|
67
|
+
DRb.start_service(@uri, self)
|
68
|
+
begin
|
69
|
+
DRb.thread.join
|
70
|
+
rescue Interrupt
|
71
|
+
ARGV.clear << '-f'
|
72
|
+
output_message %{\nEntering interactive mode: Type "commands" to get help for the commands.}, type: :info
|
73
|
+
begin
|
74
|
+
old, $VERBOSE = $VERBOSE, nil
|
75
|
+
examine(self)
|
76
|
+
ensure
|
77
|
+
$VERBOSE = old
|
78
|
+
end
|
79
|
+
output_message "Quitting interactive mode, but still listening to #{@uri.inspect}.", type: :info
|
80
|
+
retry
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def inspect
|
85
|
+
"#<Probe #queue=#{@jobs_queue.size}>"
|
86
|
+
end
|
87
|
+
alias to_s inspect
|
88
|
+
|
64
89
|
annotate :doc
|
65
90
|
|
66
|
-
def
|
91
|
+
def commands
|
67
92
|
annotations = self.class.doc_annotations.sort_by(&:first)
|
68
93
|
max_size = annotations.map { |a| a.first.size }.max
|
69
|
-
annotations.map { |n, v| "#{n.to_s.ljust(max_size + 1)}#{v}" }
|
94
|
+
output_message annotations.map { |n, v| "#{n.to_s.ljust(max_size + 1)}#{v}" }
|
95
|
+
end
|
96
|
+
|
97
|
+
doc 'Pause processing of the job queue.'
|
98
|
+
def pause
|
99
|
+
mutex.lock
|
100
|
+
true
|
101
|
+
rescue ThreadError
|
102
|
+
false
|
103
|
+
end
|
104
|
+
|
105
|
+
doc 'Continue processing of the job queue.'
|
106
|
+
def continue
|
107
|
+
mutex.unlock
|
108
|
+
true
|
109
|
+
rescue ThreadError
|
110
|
+
false
|
70
111
|
end
|
71
112
|
|
72
113
|
doc 'Return the currently running job.'
|
@@ -83,35 +124,25 @@ module Utils
|
|
83
124
|
doc 'Enqueue a new job with the argument array <job_args>.'
|
84
125
|
def job_enqueue(job_args)
|
85
126
|
job = Job.new(self, job_args)
|
86
|
-
output_message "#{job.inspect} enqueued."
|
127
|
+
output_message " → #{job.inspect} enqueued.", type: :info
|
87
128
|
@jobs_queue.push job
|
88
129
|
end
|
89
130
|
alias enqueue job_enqueue
|
90
131
|
|
91
132
|
doc 'Send the <signal> to the process that is working on the current job, if any.'
|
92
|
-
def job_kill(signal)
|
133
|
+
def job_kill(signal = :TERM)
|
93
134
|
@pid and Process.kill signal, @pid
|
94
135
|
end
|
95
136
|
|
96
|
-
doc 'Stop the process that is working on the current job, if any.'
|
97
|
-
def job_stop
|
98
|
-
job_kill :STOP
|
99
|
-
end
|
100
|
-
|
101
|
-
doc 'Continue the process that is working on the current job, if any.'
|
102
|
-
def job_continue
|
103
|
-
job_kill :CONT
|
104
|
-
end
|
105
|
-
|
106
137
|
doc 'Shutdown the server.'
|
107
|
-
def
|
108
|
-
output_message "Server was shutdown down – HARD!", :
|
138
|
+
def shutdown
|
139
|
+
output_message "Server was shutdown down – HARD!", type: :warn
|
109
140
|
exit! 23
|
110
141
|
end
|
111
142
|
|
112
143
|
doc 'List the currently pending jobs waiting to be run.'
|
113
144
|
def jobs_list
|
114
|
-
@jobs_queue.instance_variable_get(:@que)
|
145
|
+
output_message @jobs_queue.instance_variable_get(:@que)
|
115
146
|
end
|
116
147
|
|
117
148
|
doc 'Clear all pending jobs.'
|
@@ -119,7 +150,7 @@ module Utils
|
|
119
150
|
queue_synchronize do
|
120
151
|
unless @jobs_queue.empty?
|
121
152
|
@jobs_queue.clear
|
122
|
-
output_message "Cleared all queued jobs.", :
|
153
|
+
output_message "Cleared all queued jobs.", type: :warn
|
123
154
|
true
|
124
155
|
else
|
125
156
|
false
|
@@ -127,9 +158,9 @@ module Utils
|
|
127
158
|
end
|
128
159
|
end
|
129
160
|
|
130
|
-
doc 'Repeat the job with <job_id
|
131
|
-
def job_repeat(job_id)
|
132
|
-
Job === job_id and job_id =
|
161
|
+
doc 'Repeat the job with <job_id> or the last, it will be assigned a new id, though.'
|
162
|
+
def job_repeat(job_id = @history.last)
|
163
|
+
Job === job_id and job_id = job_id.id
|
133
164
|
if old_job = @history.find { |job| job.id == job_id }
|
134
165
|
job_enqueue old_job.args
|
135
166
|
true
|
@@ -140,7 +171,7 @@ module Utils
|
|
140
171
|
|
141
172
|
doc 'List the history of run jobs.'
|
142
173
|
def history_list
|
143
|
-
@history
|
174
|
+
output_message @history
|
144
175
|
end
|
145
176
|
|
146
177
|
doc 'Clear the history of run jobs.'
|
@@ -156,40 +187,47 @@ module Utils
|
|
156
187
|
|
157
188
|
private
|
158
189
|
|
190
|
+
def mutex
|
191
|
+
@jobs_queue.instance_variable_get(:@mutex)
|
192
|
+
end
|
193
|
+
|
159
194
|
def queue_synchronize(&block)
|
160
|
-
|
195
|
+
mutex.synchronize(&block)
|
161
196
|
end
|
162
197
|
|
163
|
-
def output_message(msg,
|
198
|
+
def output_message(msg, type: nil)
|
199
|
+
msg.respond_to?(:to_a) and msg = msg.to_a * "\n"
|
164
200
|
msg =
|
165
|
-
case
|
201
|
+
case type
|
166
202
|
when :success
|
167
|
-
msg.
|
168
|
-
when :info
|
169
|
-
msg.on_color(
|
203
|
+
msg.on_color(22).white
|
204
|
+
when :info
|
205
|
+
msg.on_color(20).white
|
170
206
|
when :warn
|
171
|
-
msg.on_color(
|
207
|
+
msg.on_color(40).white
|
172
208
|
when :failure
|
173
|
-
msg.
|
209
|
+
msg.on_color(124).blink.white
|
210
|
+
else
|
211
|
+
msg
|
174
212
|
end
|
175
213
|
STDOUT.puts msg
|
176
214
|
STDOUT.flush
|
215
|
+
self
|
177
216
|
end
|
178
217
|
|
179
218
|
def run_job(job)
|
180
|
-
output_message "#{job.inspect} about to run now.", :type => :info
|
181
219
|
@pid = fork { exec(*cmd(job.args)) }
|
182
|
-
output_message "#{job.inspect} now running with pid #@pid.", :
|
220
|
+
output_message " → #{job.inspect} now running with pid #@pid.", type: :info
|
183
221
|
Process.wait @pid
|
184
|
-
message = "#{job.inspect} was just run"
|
222
|
+
message = " → #{job.inspect} was just run"
|
185
223
|
if $?.success?
|
186
224
|
job.ok = true
|
187
225
|
message << " successfully."
|
188
|
-
output_message message, :
|
226
|
+
output_message message, type: :success
|
189
227
|
else
|
190
228
|
job.ok = false
|
191
229
|
message << " and failed with exit status #{$?.exitstatus}!"
|
192
|
-
output_message message, :
|
230
|
+
output_message message, type: :failure
|
193
231
|
end
|
194
232
|
@history += [ @job.freeze ]
|
195
233
|
@history.freeze
|
@@ -209,7 +247,7 @@ module Utils
|
|
209
247
|
call << bundle << 'exec'
|
210
248
|
end
|
211
249
|
call.push($0, *job)
|
212
|
-
output_message "Executing #{call.inspect} now.", :
|
250
|
+
#output_message "Executing #{call.inspect} now.", type: :info
|
213
251
|
call
|
214
252
|
end
|
215
253
|
end
|
data/lib/utils/version.rb
CHANGED
data/utils.gemspec
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: utils 0.2.
|
2
|
+
# stub: utils 0.2.1 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "utils"
|
6
|
-
s.version = "0.2.
|
6
|
+
s.version = "0.2.1"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib"]
|
10
10
|
s.authors = ["Florian Frank"]
|
11
|
-
s.date = "2014-
|
11
|
+
s.date = "2014-07-26"
|
12
12
|
s.description = "This ruby gem provides some useful command line utilities"
|
13
13
|
s.email = "flori@ping.de"
|
14
14
|
s.executables = ["brakeman2err", "chroot-exec", "chroot-libs", "classify", "create_tags", "discover", "edit", "edit_wait", "enum", "errf", "git-empty", "irb_connect", "json_check", "myex", "number_files", "on_change", "path", "probe", "remote_copy", "same_files", "search", "sedit", "ssh-tunnel", "strip_spaces", "unquarantine_apps", "untest", "utils-install-config", "utils-utilsrc", "vacuum_firefox_sqlite", "xmp"]
|
15
|
-
s.extra_rdoc_files = ["README.
|
16
|
-
s.files = [".gitignore", "COPYING", "Gemfile", "README.
|
15
|
+
s.extra_rdoc_files = ["README.md", "lib/utils.rb", "lib/utils/config.rb", "lib/utils/config/config_file.rb", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/ssh_tunnel_specification.rb", "lib/utils/version.rb"]
|
16
|
+
s.files = [".gitignore", "COPYING", "Gemfile", "README.md", "Rakefile", "VERSION", "bin/brakeman2err", "bin/chroot-exec", "bin/chroot-libs", "bin/classify", "bin/create_tags", "bin/discover", "bin/edit", "bin/edit_wait", "bin/enum", "bin/errf", "bin/git-empty", "bin/irb_connect", "bin/json_check", "bin/myex", "bin/number_files", "bin/on_change", "bin/path", "bin/probe", "bin/remote_copy", "bin/same_files", "bin/search", "bin/sedit", "bin/ssh-tunnel", "bin/strip_spaces", "bin/unquarantine_apps", "bin/untest", "bin/utils-install-config", "bin/utils-utilsrc", "bin/vacuum_firefox_sqlite", "bin/xmp", "lib/utils.rb", "lib/utils/config.rb", "lib/utils/config/config_file.rb", "lib/utils/config/gdb/asm", "lib/utils/config/gdb/ruby", "lib/utils/config/gdbinit", "lib/utils/config/irbrc", "lib/utils/config/rdebugrc", "lib/utils/config/rvmrc", "lib/utils/config/screenrc", "lib/utils/config/utilsrc", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/ssh_tunnel_specification.rb", "lib/utils/version.rb", "utils.gemspec"]
|
17
17
|
s.homepage = "http://github.com/flori/utils"
|
18
|
-
s.rdoc_options = ["--title", "Utils - Some useful command line utilities", "--main", "README.
|
18
|
+
s.rdoc_options = ["--title", "Utils - Some useful command line utilities", "--main", "README.md"]
|
19
19
|
s.rubygems_version = "2.2.2"
|
20
20
|
s.summary = "Some useful command line utilities"
|
21
21
|
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.0.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tins
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: term-ansicolor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.3'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pstree
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.1'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry-editline
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
description: This ruby gem provides some useful command line utilities
|
@@ -115,7 +115,7 @@ executables:
|
|
115
115
|
- xmp
|
116
116
|
extensions: []
|
117
117
|
extra_rdoc_files:
|
118
|
-
- README.
|
118
|
+
- README.md
|
119
119
|
- lib/utils.rb
|
120
120
|
- lib/utils/config.rb
|
121
121
|
- lib/utils/config/config_file.rb
|
@@ -130,12 +130,11 @@ extra_rdoc_files:
|
|
130
130
|
- lib/utils/ssh_tunnel_specification.rb
|
131
131
|
- lib/utils/version.rb
|
132
132
|
files:
|
133
|
-
- .gitignore
|
133
|
+
- ".gitignore"
|
134
134
|
- COPYING
|
135
135
|
- Gemfile
|
136
|
-
- README.
|
136
|
+
- README.md
|
137
137
|
- Rakefile
|
138
|
-
- TODO
|
139
138
|
- VERSION
|
140
139
|
- bin/brakeman2err
|
141
140
|
- bin/chroot-exec
|
@@ -194,20 +193,20 @@ licenses: []
|
|
194
193
|
metadata: {}
|
195
194
|
post_install_message:
|
196
195
|
rdoc_options:
|
197
|
-
- --title
|
196
|
+
- "--title"
|
198
197
|
- Utils - Some useful command line utilities
|
199
|
-
- --main
|
200
|
-
- README.
|
198
|
+
- "--main"
|
199
|
+
- README.md
|
201
200
|
require_paths:
|
202
201
|
- lib
|
203
202
|
required_ruby_version: !ruby/object:Gem::Requirement
|
204
203
|
requirements:
|
205
|
-
- -
|
204
|
+
- - ">="
|
206
205
|
- !ruby/object:Gem::Version
|
207
206
|
version: '0'
|
208
207
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
208
|
requirements:
|
210
|
-
- -
|
209
|
+
- - ">="
|
211
210
|
- !ruby/object:Gem::Version
|
212
211
|
version: '0'
|
213
212
|
requirements: []
|
data/README.rdoc
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
= Utils - Some useful command line utilities
|
2
|
-
|
3
|
-
== Description
|
4
|
-
|
5
|
-
This ruby gem provides some useful command line utilities.
|
6
|
-
|
7
|
-
== Author
|
8
|
-
|
9
|
-
Florian Frank <mailto:flori@ping.de>
|
10
|
-
|
11
|
-
== License
|
12
|
-
|
13
|
-
This is free software; you can redistribute it and/or modify it under the
|
14
|
-
terms of the GNU General Public License Version 2 as published by the Free
|
15
|
-
Software Foundation: www.gnu.org/copyleft/gpl.html
|
data/TODO
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
- improve backup mechanism for new configuration, interactivity?
|
2
|
-
|
3
|
-
CHECK
|
4
|
-
- When finding many places in the same file only jump to the first occurence if
|
5
|
-
a cli option is given.
|
6
|
-
- Make it configurable to find the same file many times via different symlinks
|
7
|
-
or to find it only once.
|
8
|
-
- Stop finder from going in infinite symlink circles
|