utils 0.0.10 → 0.0.12

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.
@@ -0,0 +1,92 @@
1
+ require 'term/ansicolor'
2
+ require 'spruz/xt'
3
+
4
+ class ::String
5
+ include Term::ANSIColor
6
+ end
7
+
8
+ class ::File
9
+ include Utils::FileXt
10
+ end
11
+
12
+ class Utils::Finder
13
+ include Utils::Find
14
+ include Utils::Patterns
15
+
16
+ def initialize(opts = {})
17
+ @args = opts[:args] || {}
18
+ @roots = opts[:roots] || []
19
+ pattern_opts = opts.subhash(:pattern) | {
20
+ :cset => @args['a'],
21
+ :icase => @args['i'],
22
+ }
23
+ @pattern = @args['r'] ?
24
+ RegexpPattern.new(pattern_opts) :
25
+ FuzzyPattern.new(pattern_opts)
26
+ @directory = @args['d']
27
+ @only_directory = @args['D']
28
+ @pathes = []
29
+ end
30
+
31
+ attr_reader :pathes
32
+
33
+ attr_reader :output
34
+
35
+ def attempt_match?(path)
36
+ stat = File.stat(path)
37
+ stat.symlink? and stat = File.lstat(path)
38
+ if @only_directory
39
+ stat.directory?
40
+ elsif @directory
41
+ stat.directory? || stat.file? && (stat.size == 0 || File.ascii?(path))
42
+ else
43
+ stat.file? && (stat.size == 0 || File.ascii?(path))
44
+ end
45
+ rescue SystemCallError => e
46
+ warn "Caught #{e.class}: #{e}"
47
+ nil
48
+ end
49
+
50
+ def search
51
+ pathes = []
52
+ find(*@roots) { |file| pathes << file }
53
+ pathes.uniq!
54
+ pathes.map! { |p| a = File.split(p) ; a.unshift(p) ; a }
55
+ @suffix = @args['I']
56
+ pathes = pathes.map! do |path, dir, file|
57
+ @suffix && @suffix != File.extname(file)[1..-1] and next
58
+ if do_match = attempt_match?(path) and $DEBUG
59
+ warn "Attempt match of #{path.inspect}"
60
+ end
61
+ if do_match and match = @pattern.match(file)
62
+ if FuzzyPattern === @pattern
63
+ current = 0
64
+ marked_file = ''
65
+ score, e = 0, 0
66
+ for i in 1...(match.size)
67
+ match[i] or next
68
+ b = match.begin(i)
69
+ marked_file << file[current...b]
70
+ marked_file << file[b, 1].red
71
+ score += (b - e)
72
+ e = match.end(i)
73
+ current = b + 1
74
+ end
75
+ marked_file << match.post_match
76
+ [ score, file.size, path, File.join(dir, marked_file) ]
77
+ else
78
+ marked_file = file[0...match.begin(0)] <<
79
+ file[match.begin(0)...match.end(0)].red <<
80
+ file[match.end(0)..-1]
81
+ [ 0, file.size, path, File.join(dir, marked_file) ]
82
+ end
83
+ end
84
+ end
85
+ pathes.compact!
86
+ @pathes, @output = pathes.sort.transpose.values_at(-2, -1)
87
+ if !@args['e'] && @output && !@output.empty?
88
+ yield @output if block_given?
89
+ end
90
+ self
91
+ end
92
+ end
@@ -0,0 +1,156 @@
1
+ require 'term/ansicolor'
2
+ require 'spruz/xt'
3
+
4
+ class ::String
5
+ include Term::ANSIColor
6
+ end
7
+
8
+ class ::File
9
+ include Utils::FileXt
10
+ end
11
+
12
+ class Utils::Grepper
13
+ PRUNE = /\A(\.svn|\.git|CVS|tmp)\Z/
14
+ SKIP = /(\A\.|\.sw[pon]\Z|~\Z)/
15
+
16
+ include Utils::Patterns
17
+
18
+ class Queue
19
+ def initialize(max_size)
20
+ @max_size, @data = max_size, []
21
+ end
22
+
23
+ attr_reader :max_size
24
+
25
+ def data
26
+ @data.dup
27
+ end
28
+
29
+ def push(x)
30
+ @data.shift if @data.size > @max_size
31
+ @data << x
32
+ self
33
+ end
34
+ alias << push
35
+ end
36
+
37
+ def initialize(opts = {})
38
+ @args = opts[:args] || {}
39
+ @roots = opts[:roots] || []
40
+ if n = @args.values_at(*%w[A B C]).compact.first
41
+ if n.to_s =~ /\A\d+\Z/ and (n = n.to_i) >= 1
42
+ @queue = Queue.new n
43
+ else
44
+ raise ArgumentError, "needs to be an integer number >= 1"
45
+ end
46
+ end
47
+ @pathes = []
48
+ pattern_opts = opts.subhash(:pattern) | {
49
+ :cset => @args['a'],
50
+ :icase => @args['i'],
51
+ }
52
+ @pattern = @args['R'] ?
53
+ FuzzyPattern.new(pattern_opts) :
54
+ RegexpPattern.new(pattern_opts)
55
+ @name_pattern =
56
+ if name_pattern = @args['N']
57
+ RegexpPattern.new(:pattern => name_pattern)
58
+ elsif name_pattern = @args['n']
59
+ FuzzyPattern.new(:pattern => name_pattern)
60
+ end
61
+ @skip_pattern =
62
+ if skip_pattern = @args['S']
63
+ RegexpPattern.new(:pattern => skip_pattern)
64
+ elsif skip_pattern = @args['s']
65
+ FuzzyPattern.new(:pattern => skip_pattern)
66
+ end
67
+ end
68
+
69
+ attr_reader :pathes
70
+
71
+ def match(filename)
72
+ @filename = filename
73
+ bn = File.basename(filename)
74
+ @output = []
75
+ s = File.stat(filename)
76
+ if s.directory? && bn =~ PRUNE
77
+ $DEBUG and warn "Pruning '#{filename}'."
78
+ Utils::Find.prune
79
+ end
80
+ if s.file? && bn !~ SKIP && (!@name_pattern || @name_pattern.match(bn))
81
+ File.open(filename, 'rb') do |file|
82
+ if file.binary? != true
83
+ $DEBUG and warn "Matching '#{filename}'."
84
+ match_lines file
85
+ else
86
+ $DEBUG and warn "Skipping binary file '#{filename}'."
87
+ end
88
+ end
89
+ else
90
+ $DEBUG and warn "Skipping '#{filename}'."
91
+ end
92
+ unless @output.empty?
93
+ case
94
+ when @args['l'], @args['e']
95
+ @output.uniq!
96
+ @pathes.concat @output
97
+ else
98
+ STDOUT.puts @output
99
+ end
100
+ @output.clear
101
+ end
102
+ self
103
+ rescue SystemCallError => e
104
+ warn "Caught #{e.class}: #{e}"
105
+ nil
106
+ end
107
+
108
+ def match_lines(file)
109
+ for line in file
110
+ if m = @pattern.match(line)
111
+ @skip_pattern and @skip_pattern =~ line and next
112
+ line[m.begin(0)...m.end(0)] = m[0].black.on_white
113
+ @queue and @queue << line
114
+ if @args['l']
115
+ @output << @filename
116
+ elsif @args['L'] or @args['e']
117
+ @output << "#{@filename}:#{file.lineno}"
118
+ else
119
+ @output << "#{@filename}:#{file.lineno}".red
120
+ if @args['B'] or @args['C']
121
+ @output.concat @queue.data
122
+ else
123
+ @output << line
124
+ end
125
+ if @args['A'] or @args['C']
126
+ where = file.tell
127
+ lineno = file.lineno
128
+ @queue.max_size.times do
129
+ file.eof? and break
130
+ line = file.readline
131
+ @queue << line
132
+ @output << line
133
+ end
134
+ file.seek where
135
+ file.lineno = lineno
136
+ end
137
+ end
138
+ else
139
+ @queue and @queue << line
140
+ end
141
+ end
142
+ end
143
+
144
+ def search
145
+ @suffix = @args['I']
146
+ for dir in @roots
147
+ Utils::Find.find(dir) do |filename|
148
+ if !@suffix || @suffix == File.extname(filename)[1..-1]
149
+ match(filename)
150
+ end
151
+ end
152
+ end
153
+ @pathes.sort!
154
+ self
155
+ end
156
+ end
data/lib/utils/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Utils
2
2
  # Utils version
3
- VERSION = '0.0.10'
3
+ VERSION = '0.0.12'
4
4
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/utils.gemspec CHANGED
@@ -2,37 +2,37 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{utils}
5
- s.version = "0.0.10"
5
+ s.version = "0.0.12"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = [%q{Florian Frank}]
9
- s.date = %q{2011-08-01}
9
+ s.date = %q{2011-08-08}
10
10
  s.description = %q{This ruby gem provides some useful command line utilities}
11
11
  s.email = %q{flori@ping.de}
12
- s.executables = [%q{chroot-exec}, %q{chroot-libs}, %q{classify}, %q{discover}, %q{edit}, %q{edit_wait}, %q{errf}, %q{git-empty}, %q{myex}, %q{number_files}, %q{path}, %q{same_files}, %q{search}, %q{sedit}, %q{sshscreen}, %q{strip_spaces}, %q{unquarantine_apps}, %q{untest}, %q{utils-install-config}, %q{vacuum_firefox_sqlite}, %q{xmp}]
13
- s.extra_rdoc_files = [%q{README.rdoc}, %q{lib/utils/config.rb}, %q{lib/utils/edit.rb}, %q{lib/utils/file_xt.rb}, %q{lib/utils/find.rb}, %q{lib/utils/md5.rb}, %q{lib/utils/patterns.rb}, %q{lib/utils/version.rb}, %q{lib/utils.rb}]
14
- s.files = [%q{.gitignore}, %q{COPYING}, %q{Gemfile}, %q{README.rdoc}, %q{Rakefile}, %q{VERSION}, %q{bin/chroot-exec}, %q{bin/chroot-libs}, %q{bin/classify}, %q{bin/discover}, %q{bin/edit}, %q{bin/edit_wait}, %q{bin/errf}, %q{bin/git-empty}, %q{bin/myex}, %q{bin/number_files}, %q{bin/path}, %q{bin/same_files}, %q{bin/search}, %q{bin/sedit}, %q{bin/sshscreen}, %q{bin/strip_spaces}, %q{bin/unquarantine_apps}, %q{bin/untest}, %q{bin/utils-install-config}, %q{bin/vacuum_firefox_sqlite}, %q{bin/xmp}, %q{lib/utils.rb}, %q{lib/utils/config.rb}, %q{lib/utils/config/gdb/asm}, %q{lib/utils/config/gdb/ruby}, %q{lib/utils/config/gdbinit}, %q{lib/utils/config/irbrc}, %q{lib/utils/config/rdebugrc}, %q{lib/utils/config/screenrc}, %q{lib/utils/config/vim/autoload/Align.vim}, %q{lib/utils/config/vim/autoload/AlignMaps.vim}, %q{lib/utils/config/vim/autoload/rails.vim}, %q{lib/utils/config/vim/autoload/rubycomplete.vim}, %q{lib/utils/config/vim/autoload/sqlcomplete.vim}, %q{lib/utils/config/vim/autoload/vimball.vim}, %q{lib/utils/config/vim/colors/flori.vim}, %q{lib/utils/config/vim/compiler/eruby.vim}, %q{lib/utils/config/vim/compiler/ruby.vim}, %q{lib/utils/config/vim/compiler/rubyunit.vim}, %q{lib/utils/config/vim/ftdetect/ragel.vim}, %q{lib/utils/config/vim/ftdetect/ruby.vim}, %q{lib/utils/config/vim/ftplugin/eruby.vim}, %q{lib/utils/config/vim/ftplugin/ruby.vim}, %q{lib/utils/config/vim/ftplugin/xml.vim}, %q{lib/utils/config/vim/indent/IndentAnything_html.vim}, %q{lib/utils/config/vim/indent/eruby.vim}, %q{lib/utils/config/vim/indent/javascript.vim}, %q{lib/utils/config/vim/indent/ruby.vim}, %q{lib/utils/config/vim/plugin/AlignMapsPlugin.vim}, %q{lib/utils/config/vim/plugin/AlignPlugin.vim}, %q{lib/utils/config/vim/plugin/Decho.vim}, %q{lib/utils/config/vim/plugin/IndentAnything.vim}, %q{lib/utils/config/vim/plugin/bufexplorer.vim}, %q{lib/utils/config/vim/plugin/cecutil.vim}, %q{lib/utils/config/vim/plugin/fugitive.vim}, %q{lib/utils/config/vim/plugin/lusty-explorer.vim}, %q{lib/utils/config/vim/plugin/rails.vim}, %q{lib/utils/config/vim/plugin/rubyextra.vim}, %q{lib/utils/config/vim/plugin/surround.vim}, %q{lib/utils/config/vim/plugin/taglist.vim}, %q{lib/utils/config/vim/plugin/test/IndentAnything/test.js}, %q{lib/utils/config/vim/plugin/vimballPlugin.vim}, %q{lib/utils/config/vim/syntax/Decho.vim}, %q{lib/utils/config/vim/syntax/eruby.vim}, %q{lib/utils/config/vim/syntax/javascript.vim}, %q{lib/utils/config/vim/syntax/ragel.vim}, %q{lib/utils/config/vim/syntax/ruby.vim}, %q{lib/utils/config/vimrc}, %q{lib/utils/edit.rb}, %q{lib/utils/file_xt.rb}, %q{lib/utils/find.rb}, %q{lib/utils/md5.rb}, %q{lib/utils/patterns.rb}, %q{lib/utils/version.rb}, %q{utils.gemspec}]
12
+ s.executables = [%q{untest}, %q{chroot-libs}, %q{edit_wait}, %q{chroot-exec}, %q{number_files}, %q{search}, %q{strip_spaces}, %q{path}, %q{edit}, %q{git-empty}, %q{classify}, %q{utils-install-config}, %q{xmp}, %q{discover}, %q{sshscreen}, %q{myex}, %q{errf}, %q{same_files}, %q{unquarantine_apps}, %q{vacuum_firefox_sqlite}, %q{sedit}]
13
+ s.extra_rdoc_files = [%q{README.rdoc}, %q{lib/utils/finder.rb}, %q{lib/utils/version.rb}, %q{lib/utils/find.rb}, %q{lib/utils/config.rb}, %q{lib/utils/editor.rb}, %q{lib/utils/grepper.rb}, %q{lib/utils/file_xt.rb}, %q{lib/utils/md5.rb}, %q{lib/utils/patterns.rb}, %q{lib/utils.rb}]
14
+ s.files = [%q{.gitignore}, %q{.rvmrc}, %q{COPYING}, %q{Gemfile}, %q{README.rdoc}, %q{Rakefile}, %q{VERSION}, %q{bin/chroot-exec}, %q{bin/chroot-libs}, %q{bin/classify}, %q{bin/discover}, %q{bin/edit}, %q{bin/edit_wait}, %q{bin/errf}, %q{bin/git-empty}, %q{bin/myex}, %q{bin/number_files}, %q{bin/path}, %q{bin/same_files}, %q{bin/search}, %q{bin/sedit}, %q{bin/sshscreen}, %q{bin/strip_spaces}, %q{bin/unquarantine_apps}, %q{bin/untest}, %q{bin/utils-install-config}, %q{bin/vacuum_firefox_sqlite}, %q{bin/xmp}, %q{lib/utils.rb}, %q{lib/utils/config.rb}, %q{lib/utils/config/gdb/asm}, %q{lib/utils/config/gdb/ruby}, %q{lib/utils/config/gdbinit}, %q{lib/utils/config/irbrc}, %q{lib/utils/config/rdebugrc}, %q{lib/utils/config/screenrc}, %q{lib/utils/config/vim/autoload/Align.vim}, %q{lib/utils/config/vim/autoload/AlignMaps.vim}, %q{lib/utils/config/vim/autoload/rails.vim}, %q{lib/utils/config/vim/autoload/rubycomplete.vim}, %q{lib/utils/config/vim/autoload/sqlcomplete.vim}, %q{lib/utils/config/vim/autoload/vimball.vim}, %q{lib/utils/config/vim/colors/flori.vim}, %q{lib/utils/config/vim/compiler/eruby.vim}, %q{lib/utils/config/vim/compiler/ruby.vim}, %q{lib/utils/config/vim/compiler/rubyunit.vim}, %q{lib/utils/config/vim/ftdetect/ragel.vim}, %q{lib/utils/config/vim/ftdetect/ruby.vim}, %q{lib/utils/config/vim/ftplugin/eruby.vim}, %q{lib/utils/config/vim/ftplugin/ruby.vim}, %q{lib/utils/config/vim/ftplugin/xml.vim}, %q{lib/utils/config/vim/indent/IndentAnything_html.vim}, %q{lib/utils/config/vim/indent/eruby.vim}, %q{lib/utils/config/vim/indent/javascript.vim}, %q{lib/utils/config/vim/indent/ruby.vim}, %q{lib/utils/config/vim/plugin/AlignMapsPlugin.vim}, %q{lib/utils/config/vim/plugin/AlignPlugin.vim}, %q{lib/utils/config/vim/plugin/Decho.vim}, %q{lib/utils/config/vim/plugin/IndentAnything.vim}, %q{lib/utils/config/vim/plugin/bufexplorer.vim}, %q{lib/utils/config/vim/plugin/cecutil.vim}, %q{lib/utils/config/vim/plugin/fugitive.vim}, %q{lib/utils/config/vim/plugin/lusty-explorer.vim}, %q{lib/utils/config/vim/plugin/rails.vim}, %q{lib/utils/config/vim/plugin/rubyextra.vim}, %q{lib/utils/config/vim/plugin/surround.vim}, %q{lib/utils/config/vim/plugin/taglist.vim}, %q{lib/utils/config/vim/plugin/test/IndentAnything/test.js}, %q{lib/utils/config/vim/plugin/vimballPlugin.vim}, %q{lib/utils/config/vim/syntax/Decho.vim}, %q{lib/utils/config/vim/syntax/eruby.vim}, %q{lib/utils/config/vim/syntax/javascript.vim}, %q{lib/utils/config/vim/syntax/ragel.vim}, %q{lib/utils/config/vim/syntax/ruby.vim}, %q{lib/utils/config/vimrc}, %q{lib/utils/editor.rb}, %q{lib/utils/file_xt.rb}, %q{lib/utils/find.rb}, %q{lib/utils/finder.rb}, %q{lib/utils/grepper.rb}, %q{lib/utils/md5.rb}, %q{lib/utils/patterns.rb}, %q{lib/utils/version.rb}, %q{utils.gemspec}]
15
15
  s.homepage = %q{http://github.com/flori/utils}
16
16
  s.rdoc_options = [%q{--title}, %q{Utils - Some useful command line utilities}, %q{--main}, %q{README.rdoc}]
17
17
  s.require_paths = [%q{lib}]
18
- s.rubygems_version = %q{1.8.6}
18
+ s.rubygems_version = %q{1.8.7}
19
19
  s.summary = %q{Some useful command line utilities}
20
20
 
21
21
  if s.respond_to? :specification_version then
22
22
  s.specification_version = 3
23
23
 
24
24
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- s.add_development_dependency(%q<gem_hadar>, ["~> 0.0.8"])
26
- s.add_runtime_dependency(%q<spruz>, ["~> 0.2.10"])
27
- s.add_runtime_dependency(%q<term-ansicolor>, ["= 1.0.5"])
25
+ s.add_development_dependency(%q<gem_hadar>, ["~> 0.0.11"])
26
+ s.add_runtime_dependency(%q<spruz>, ["~> 0.2.12"])
27
+ s.add_runtime_dependency(%q<term-ansicolor>, ["~> 1.0"])
28
28
  else
29
- s.add_dependency(%q<gem_hadar>, ["~> 0.0.8"])
30
- s.add_dependency(%q<spruz>, ["~> 0.2.10"])
31
- s.add_dependency(%q<term-ansicolor>, ["= 1.0.5"])
29
+ s.add_dependency(%q<gem_hadar>, ["~> 0.0.11"])
30
+ s.add_dependency(%q<spruz>, ["~> 0.2.12"])
31
+ s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
32
32
  end
33
33
  else
34
- s.add_dependency(%q<gem_hadar>, ["~> 0.0.8"])
35
- s.add_dependency(%q<spruz>, ["~> 0.2.10"])
36
- s.add_dependency(%q<term-ansicolor>, ["= 1.0.5"])
34
+ s.add_dependency(%q<gem_hadar>, ["~> 0.0.11"])
35
+ s.add_dependency(%q<spruz>, ["~> 0.2.12"])
36
+ s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
37
37
  end
38
38
  end
metadata CHANGED
@@ -1,108 +1,89 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: utils
3
- version: !ruby/object:Gem::Version
4
- hash: 11
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.12
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 10
10
- version: 0.0.10
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Florian Frank
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-08-01 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2011-08-08 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: gem_hadar
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2156686180 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 15
29
- segments:
30
- - 0
31
- - 0
32
- - 8
33
- version: 0.0.8
20
+ - !ruby/object:Gem::Version
21
+ version: 0.0.11
34
22
  type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: spruz
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2156686180
25
+ - !ruby/object:Gem::Dependency
26
+ name: spruz
27
+ requirement: &2156685700 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
29
+ requirements:
42
30
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- - 2
48
- - 10
49
- version: 0.2.10
31
+ - !ruby/object:Gem::Version
32
+ version: 0.2.12
50
33
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: term-ansicolor
54
34
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2156685700
36
+ - !ruby/object:Gem::Dependency
37
+ name: term-ansicolor
38
+ requirement: &2156685180 !ruby/object:Gem::Requirement
56
39
  none: false
57
- requirements:
58
- - - "="
59
- - !ruby/object:Gem::Version
60
- hash: 29
61
- segments:
62
- - 1
63
- - 0
64
- - 5
65
- version: 1.0.5
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '1.0'
66
44
  type: :runtime
67
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *2156685180
68
47
  description: This ruby gem provides some useful command line utilities
69
48
  email: flori@ping.de
70
- executables:
71
- - chroot-exec
49
+ executables:
50
+ - untest
72
51
  - chroot-libs
73
- - classify
74
- - discover
75
- - edit
76
52
  - edit_wait
77
- - errf
78
- - git-empty
79
- - myex
53
+ - chroot-exec
80
54
  - number_files
81
- - path
82
- - same_files
83
55
  - search
84
- - sedit
85
- - sshscreen
86
56
  - strip_spaces
87
- - unquarantine_apps
88
- - untest
57
+ - path
58
+ - edit
59
+ - git-empty
60
+ - classify
89
61
  - utils-install-config
90
- - vacuum_firefox_sqlite
91
62
  - xmp
63
+ - discover
64
+ - sshscreen
65
+ - myex
66
+ - errf
67
+ - same_files
68
+ - unquarantine_apps
69
+ - vacuum_firefox_sqlite
70
+ - sedit
92
71
  extensions: []
93
-
94
- extra_rdoc_files:
72
+ extra_rdoc_files:
95
73
  - README.rdoc
74
+ - lib/utils/finder.rb
75
+ - lib/utils/version.rb
76
+ - lib/utils/find.rb
96
77
  - lib/utils/config.rb
97
- - lib/utils/edit.rb
78
+ - lib/utils/editor.rb
79
+ - lib/utils/grepper.rb
98
80
  - lib/utils/file_xt.rb
99
- - lib/utils/find.rb
100
81
  - lib/utils/md5.rb
101
82
  - lib/utils/patterns.rb
102
- - lib/utils/version.rb
103
83
  - lib/utils.rb
104
- files:
84
+ files:
105
85
  - .gitignore
86
+ - .rvmrc
106
87
  - COPYING
107
88
  - Gemfile
108
89
  - README.rdoc
@@ -176,48 +157,41 @@ files:
176
157
  - lib/utils/config/vim/syntax/ragel.vim
177
158
  - lib/utils/config/vim/syntax/ruby.vim
178
159
  - lib/utils/config/vimrc
179
- - lib/utils/edit.rb
160
+ - lib/utils/editor.rb
180
161
  - lib/utils/file_xt.rb
181
162
  - lib/utils/find.rb
163
+ - lib/utils/finder.rb
164
+ - lib/utils/grepper.rb
182
165
  - lib/utils/md5.rb
183
166
  - lib/utils/patterns.rb
184
167
  - lib/utils/version.rb
185
168
  - utils.gemspec
186
169
  homepage: http://github.com/flori/utils
187
170
  licenses: []
188
-
189
171
  post_install_message:
190
- rdoc_options:
172
+ rdoc_options:
191
173
  - --title
192
174
  - Utils - Some useful command line utilities
193
175
  - --main
194
176
  - README.rdoc
195
- require_paths:
177
+ require_paths:
196
178
  - lib
197
- required_ruby_version: !ruby/object:Gem::Requirement
179
+ required_ruby_version: !ruby/object:Gem::Requirement
198
180
  none: false
199
- requirements:
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- hash: 3
203
- segments:
204
- - 0
205
- version: "0"
206
- required_rubygems_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ! '>='
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ required_rubygems_version: !ruby/object:Gem::Requirement
207
186
  none: false
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
211
- hash: 3
212
- segments:
213
- - 0
214
- version: "0"
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
215
191
  requirements: []
216
-
217
192
  rubyforge_project:
218
- rubygems_version: 1.8.6
193
+ rubygems_version: 1.8.7
219
194
  signing_key:
220
195
  specification_version: 3
221
196
  summary: Some useful command line utilities
222
197
  test_files: []
223
-