grep-fu 0.4.0 → 0.5.0
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/.gitignore +1 -0
- data/README.md +12 -1
- data/Rakefile +7 -1
- data/VERSION +1 -1
- data/bin/grep-fu +4 -60
- data/grep-fu.gemspec +18 -4
- data/lib/grep-fu/find_builder.rb +20 -0
- data/lib/grep-fu/options.rb +61 -0
- data/lib/grep-fu.rb +26 -0
- data/spec/find_builder_spec.rb +58 -0
- data/spec/grep_fu_spec.rb +76 -0
- data/spec/options_spec.rb +55 -0
- data/spec/spec_helper.rb +6 -0
- metadata +16 -5
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pkg
|
data/README.md
CHANGED
@@ -132,6 +132,17 @@ to
|
|
132
132
|
|
133
133
|
And migrations will no longer be searched. Note that targeted searches and specified directories always override the PRUNE_PATHS option.
|
134
134
|
|
135
|
+
Version Information
|
136
|
+
-------------------
|
137
|
+
|
138
|
+
Passing the '--version' flag to grep-fu will return the current version.
|
139
|
+
|
140
|
+
grep-fu --version
|
141
|
+
|
142
|
+
returns
|
143
|
+
|
144
|
+
grep-fu 0.5.0
|
145
|
+
|
135
146
|
Technical mumbo-jumbo
|
136
147
|
---------------------
|
137
148
|
|
@@ -147,7 +158,7 @@ Grep-Fu speeds up the searching process by only searching the files you care abo
|
|
147
158
|
|
148
159
|
Note that all these directories are still searchable with targeted searches or a directory specification; they're simply not searched by default
|
149
160
|
|
150
|
-
Grep-fu also ignores files larger than 100K, which tend to be unsearchable binaries.
|
161
|
+
Grep-fu also ignores files larger than 100K, which tend to be unsearchable binaries or SQL dumps.
|
151
162
|
|
152
163
|
The pruning options for find are some of the ugliest in the CLI world. Using Ruby allows us to construct a giant, hideous command that does exactly what we need.
|
153
164
|
|
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
|
+
require 'spec/rake/spectask'
|
3
4
|
|
4
5
|
begin
|
5
6
|
require 'jeweler'
|
@@ -36,7 +37,12 @@ rescue LoadError
|
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
39
|
-
|
40
|
+
desc "Run all specs"
|
41
|
+
Spec::Rake::SpecTask.new('run_specs') do |t|
|
42
|
+
t.spec_files = FileList['spec/**/*.rb']
|
43
|
+
end
|
44
|
+
|
45
|
+
task :test => [:check_dependencies, :run_specs]
|
40
46
|
|
41
47
|
task :default => :test
|
42
48
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/bin/grep-fu
CHANGED
@@ -1,61 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
'h' => 'app/helpers',
|
7
|
-
'm' => 'app/models',
|
8
|
-
'v' => 'app/views',
|
9
|
-
'l' => 'lib',
|
10
|
-
'p' => 'public',
|
11
|
-
'css' => 'public/stylesheets',
|
12
|
-
'js' => 'public/javascripts',
|
13
|
-
't' => 'test',
|
14
|
-
's' => 'spec',
|
15
|
-
'vp' => 'vendor/plugins',
|
16
|
-
'mig' => 'db/migrate'
|
17
|
-
}
|
18
|
-
|
19
|
-
PRUNE_PATHS = ['/.svn', '/.git', '/vendor', '/log', '/public', '/tmp', '/coverage']
|
20
|
-
COLOR_ON_BY_DEFAULT = false
|
21
|
-
options = '-ril'
|
22
|
-
|
23
|
-
unless ARGV.size > 0
|
24
|
-
puts "\nUsage: #{__FILE__} [findpath] search_string [--verbose|--single-line]\n
|
25
|
-
Where findpath is one of the following:
|
26
|
-
any literal subdirectory
|
27
|
-
#{PATH_REPLACEMENTS.map { |abbr, txt| " #{abbr} - #{txt}" }.join("\n")}\n\n"
|
28
|
-
exit
|
29
|
-
end
|
30
|
-
|
31
|
-
clargs = ARGV
|
32
|
-
|
33
|
-
verbose = (clargs -= ['--verbose'] if clargs.include?('--verbose'))
|
34
|
-
single_line = (clargs -= ['--single-line'] if clargs.include?('--single-line'))
|
35
|
-
color = (clargs -= ['--color'] if (clargs.include?('--color')) || COLOR_ON_BY_DEFAULT)
|
36
|
-
|
37
|
-
if clargs.include?('--no-color')
|
38
|
-
clargs -= ['--no-color']
|
39
|
-
color = false
|
40
|
-
end
|
41
|
-
|
42
|
-
options = '-rin' if verbose
|
43
|
-
options << ' --color=always' if color
|
44
|
-
|
45
|
-
search_criteria = clargs.last
|
46
|
-
file_path = clargs.size == 2 ? PATH_REPLACEMENTS[clargs.first] || clargs.first : './'
|
47
|
-
delicious_prunes = PRUNE_PATHS ? "-path '*#{PRUNE_PATHS.join("' -prune -o -path *'")}' -prune -o" : ''
|
48
|
-
|
49
|
-
find_command = "find #{file_path} #{delicious_prunes} \\( -size -100000c -type f \\) -print0 | xargs -0 grep #{options} \"#{search_criteria}\""
|
50
|
-
|
51
|
-
if verbose
|
52
|
-
`#{find_command}`.each_line do |found|
|
53
|
-
file_and_line = found.slice!(/^.*?:.*?:/)
|
54
|
-
puts "#{file_and_line}\n\t#{found.strip}"
|
55
|
-
end
|
56
|
-
elsif single_line
|
57
|
-
puts `#{find_command}`.map { |found| found.chomp }.join(' ')
|
58
|
-
else
|
59
|
-
puts `#{find_command}`
|
60
|
-
end
|
61
|
-
|
2
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
3
|
+
require 'grep-fu'
|
4
|
+
|
5
|
+
GrepFu::run!(ARGV)
|
data/grep-fu.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{grep-fu}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.5.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Eric Budd"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-06-16}
|
13
13
|
s.default_executable = %q{grep-fu}
|
14
14
|
s.description = %q{Grep-Fu is a very fast, Rails-oriented command-line helper script for grep.}
|
15
15
|
s.email = %q{calamitous@calamitylane.com}
|
@@ -19,18 +19,32 @@ Gem::Specification.new do |s|
|
|
19
19
|
"README.md"
|
20
20
|
]
|
21
21
|
s.files = [
|
22
|
-
"
|
22
|
+
".gitignore",
|
23
|
+
"LICENSE",
|
23
24
|
"README.md",
|
24
25
|
"Rakefile",
|
25
26
|
"VERSION",
|
26
27
|
"bin/grep-fu",
|
27
|
-
"grep-fu.gemspec"
|
28
|
+
"grep-fu.gemspec",
|
29
|
+
"lib/grep-fu.rb",
|
30
|
+
"lib/grep-fu/find_builder.rb",
|
31
|
+
"lib/grep-fu/options.rb",
|
32
|
+
"spec/find_builder_spec.rb",
|
33
|
+
"spec/grep_fu_spec.rb",
|
34
|
+
"spec/options_spec.rb",
|
35
|
+
"spec/spec_helper.rb"
|
28
36
|
]
|
29
37
|
s.homepage = %q{http://github.com/Calamitous/grep-fu}
|
30
38
|
s.rdoc_options = ["--charset=UTF-8"]
|
31
39
|
s.require_paths = ["lib"]
|
32
40
|
s.rubygems_version = %q{1.3.6}
|
33
41
|
s.summary = %q{Grep-Fu is a very fast, Rails-oriented command-line helper script for grep.}
|
42
|
+
s.test_files = [
|
43
|
+
"spec/find_builder_spec.rb",
|
44
|
+
"spec/options_spec.rb",
|
45
|
+
"spec/spec_helper.rb",
|
46
|
+
"spec/grep_fu_spec.rb"
|
47
|
+
]
|
34
48
|
|
35
49
|
if s.respond_to? :specification_version then
|
36
50
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module GrepFu
|
2
|
+
class FindBuilder
|
3
|
+
PRUNE_PATHS = ['/.svn', '/.git', '/vendor', '/log', '/public', '/tmp', '/coverage']
|
4
|
+
|
5
|
+
def self.delicious_prunes
|
6
|
+
"-path '*#{PRUNE_PATHS.join("' -prune -o -path '*")}' -prune -o"
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.find_command(options)
|
10
|
+
[
|
11
|
+
'find',
|
12
|
+
options.file_path,
|
13
|
+
delicious_prunes,
|
14
|
+
"\\( -size -100000c -type f \\) -print0 | xargs -0 grep",
|
15
|
+
options.to_s,
|
16
|
+
"\"#{options.search_criteria}\""
|
17
|
+
].join(' ')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module GrepFu
|
2
|
+
class Options
|
3
|
+
attr_reader :verbose, :single_line, :color, :search_criteria, :file_path
|
4
|
+
|
5
|
+
PATH_REPLACEMENTS = {
|
6
|
+
'a' => 'app',
|
7
|
+
'c' => 'app/controllers',
|
8
|
+
'h' => 'app/helpers',
|
9
|
+
'm' => 'app/models',
|
10
|
+
'v' => 'app/views',
|
11
|
+
'l' => 'lib',
|
12
|
+
'p' => 'public',
|
13
|
+
'css' => 'public/stylesheets',
|
14
|
+
'js' => 'public/javascripts',
|
15
|
+
't' => 'test',
|
16
|
+
's' => 'spec',
|
17
|
+
'vp' => 'vendor/plugins',
|
18
|
+
'mig' => 'db/migrate'
|
19
|
+
}
|
20
|
+
|
21
|
+
COLOR_ON_BY_DEFAULT = false
|
22
|
+
|
23
|
+
def self.usage(file)
|
24
|
+
lines = ['',
|
25
|
+
"Usage: #{file} [findpath] search_string [--verbose|--single-line]\n",
|
26
|
+
" Where findpath is one of the following:",
|
27
|
+
" any literal subdirectory",
|
28
|
+
Options::PATH_REPLACEMENTS.map { |abbr, txt| " #{abbr} - #{txt}" }.join("\n"),
|
29
|
+
"\n\n"
|
30
|
+
]
|
31
|
+
|
32
|
+
lines.join("\n")
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize(args)
|
36
|
+
if args.include?('--version')
|
37
|
+
puts "grep-fu #{File.read(File.join(File.dirname(__FILE__), '..', '..', 'VERSION'))}"
|
38
|
+
exit(0)
|
39
|
+
end
|
40
|
+
|
41
|
+
@verbose = (args -= ['--verbose'] if args.include?('--verbose'))
|
42
|
+
@single_line = (args -= ['--single-line'] if args.include?('--single-line'))
|
43
|
+
|
44
|
+
@color = (args -= ['--color'] if (args.include?('--color')) || COLOR_ON_BY_DEFAULT)
|
45
|
+
if args.include?('--no-color')
|
46
|
+
args -= ['--no-color']
|
47
|
+
@color = false
|
48
|
+
end
|
49
|
+
|
50
|
+
@search_criteria = args.last
|
51
|
+
@file_path = args.size == 2 ? PATH_REPLACEMENTS[args.first] || args.first : './'
|
52
|
+
end
|
53
|
+
|
54
|
+
def to_s
|
55
|
+
options = @verbose ? '-rin' : '-ril'
|
56
|
+
options << ' --color=always' if @color
|
57
|
+
options
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
data/lib/grep-fu.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'grep-fu/options'
|
2
|
+
require 'grep-fu/find_builder'
|
3
|
+
|
4
|
+
module GrepFu
|
5
|
+
def self.run!(args = [])
|
6
|
+
unless args.size > 0
|
7
|
+
puts Options.usage(__FILE__)
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
options = Options.new(args)
|
12
|
+
|
13
|
+
find_command = FindBuilder.find_command(options)
|
14
|
+
|
15
|
+
if options.verbose
|
16
|
+
`#{find_command}`.each_line do |found|
|
17
|
+
file_and_line = found.slice!(/^.*?:.*?:/)
|
18
|
+
puts "#{file_and_line}\n\t#{found.strip}"
|
19
|
+
end
|
20
|
+
elsif options.single_line
|
21
|
+
puts `#{find_command}`.map { |found| found.chomp }.join(' ')
|
22
|
+
else
|
23
|
+
puts `#{find_command}`
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'grep-fu/find_builder'
|
2
|
+
require 'spec/spec_helper'
|
3
|
+
|
4
|
+
describe GrepFu::FindBuilder do
|
5
|
+
describe "#delicious_prunes" do
|
6
|
+
it "should create command-line options for pruning path" do
|
7
|
+
silence_warnings { GrepFu::FindBuilder::PRUNE_PATHS = ['/pruney'] }
|
8
|
+
GrepFu::FindBuilder.delicious_prunes.should == "-path '*/pruney' -prune -o"
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should create command-line options for multiple pruning paths" do
|
12
|
+
silence_warnings { GrepFu::FindBuilder::PRUNE_PATHS = ['/pruney', '/apply'] }
|
13
|
+
GrepFu::FindBuilder.delicious_prunes.should == "-path '*/pruney' -prune -o -path '*/apply' -prune -o"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#find_command" do
|
18
|
+
before(:each) do
|
19
|
+
GrepFu::FindBuilder.stub!(:delicious_prunes).and_return('prune_list')
|
20
|
+
@options = mock(Object,
|
21
|
+
:file_path => 'path',
|
22
|
+
:to_s => 'str_opts',
|
23
|
+
:search_criteria => 'crits')
|
24
|
+
@find_command = GrepFu::FindBuilder.find_command(@options)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should start with the find command" do
|
28
|
+
@find_command.should =~ /^find\s/
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should contain the file path" do
|
32
|
+
@find_command.should =~ /\spath\s/
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should contain all the pruned directories" do
|
36
|
+
@find_command.should =~ /\sprune_list\s/
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should contain a blob of bash muck" do
|
40
|
+
@find_command.should =~ /\s.. -size -100000c -type f .. -print0 | xargs -0 grep\s/
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should contain the options" do
|
44
|
+
@find_command.should =~ /\sstr_opts\s/
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should end with the quoted search criteria" do
|
48
|
+
@find_command.should =~ /\s"crits"$/
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should stitch together a long, long find command" do
|
52
|
+
@find_command.should =~ /find path prune_list .. -size -100000c -type f .. -print0 | xargs -0 grep str_opts \"crits\"/
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'grep-fu'
|
2
|
+
require 'spec/spec_helper'
|
3
|
+
|
4
|
+
describe GrepFu do
|
5
|
+
describe "#run!" do
|
6
|
+
before(:each) do
|
7
|
+
GrepFu.stub!(:puts)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "with no arguments provided" do
|
11
|
+
it "should print the usage and exit if no arguments are provided" do
|
12
|
+
GrepFu::Options.should_receive(:usage).and_return('Usage: etc.')
|
13
|
+
GrepFu.should_receive(:puts).with('Usage: etc.')
|
14
|
+
GrepFu.run!
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should exit early if no arguments are provided" do
|
18
|
+
GrepFu::Options.should_not_receive(:new)
|
19
|
+
GrepFu.run!
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "with valid arguments" do
|
24
|
+
before(:each) do
|
25
|
+
@options = mock(GrepFu::Options, :verbose => false, :single_line => false)
|
26
|
+
@find_command = "find me"
|
27
|
+
GrepFu::Options.stub!(:new).and_return(@options)
|
28
|
+
GrepFu::FindBuilder.stub!(:find_command).and_return(@find_command)
|
29
|
+
GrepFu.stub!(:'`')
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should create options from provided arguments" do
|
33
|
+
GrepFu::Options.should_receive(:new).with('arguments!')
|
34
|
+
GrepFu.run!('arguments!')
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should build a find command from options" do
|
38
|
+
GrepFu::FindBuilder.should_receive(:find_command).with(@options)
|
39
|
+
GrepFu.run!('arguments!')
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should display the results of the find" do
|
43
|
+
GrepFu.should_receive(:'`').with(@find_command)
|
44
|
+
GrepFu.run!(['stuff_to_find'])
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should appropriately format results for single-line requests" do
|
48
|
+
@options.stub!(:single_line).and_return(true)
|
49
|
+
GrepFu.stub!(:'`').and_return("line one\nline two\nlast line\n")
|
50
|
+
GrepFu.should_receive(:puts).with('line one line two last line')
|
51
|
+
GrepFu.run!(['--single-line'])
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should appropriately format results for verbose requests" do
|
55
|
+
@options.stub!(:verbose).and_return(true)
|
56
|
+
verbose_returns = [
|
57
|
+
"app/views/mailer/new_notification.text.plain.erb:1:A new notification has arrived!",
|
58
|
+
"README:45: although it's not clear who might have",
|
59
|
+
"app/models/funge.rb:22: Hugenot.new"
|
60
|
+
].join("\n")
|
61
|
+
|
62
|
+
formatted_returns = [
|
63
|
+
"app/views/mailer/new_notification.text.plain.erb:1:\n\tA new notification has arrived!",
|
64
|
+
"README:45:\n\talthough it's not clear who might have",
|
65
|
+
"app/models/funge.rb:22:\n\tHugenot.new"
|
66
|
+
]
|
67
|
+
|
68
|
+
GrepFu.stub!(:'`').and_return(verbose_returns)
|
69
|
+
GrepFu.should_receive(:puts).with(formatted_returns[0])
|
70
|
+
GrepFu.should_receive(:puts).with(formatted_returns[1])
|
71
|
+
GrepFu.should_receive(:puts).with(formatted_returns[2])
|
72
|
+
GrepFu.run!(['not', '--verbose'])
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'grep-fu/options'
|
2
|
+
require 'spec/spec_helper'
|
3
|
+
|
4
|
+
describe GrepFu::Options do
|
5
|
+
it "should instantiate correctly" do
|
6
|
+
GrepFu::Options.new([])
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should set the verbose option to true, if provided" do
|
10
|
+
GrepFu::Options.new(['--verbose']).verbose.should be_true
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should set the single-line option to true, if provided" do
|
14
|
+
GrepFu::Options.new(['--single-line']).single_line.should be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should set the color option to true, if provided" do
|
18
|
+
GrepFu::Options.new(['--color']).color.should be_true
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should default to no color" do
|
22
|
+
GrepFu::Options.new([]).color.should be_false
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should allow color to be disabled from the command line" do
|
26
|
+
GrepFu::Options.new(['--no_color']).color.should be_false
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should change color default based on constant" do
|
30
|
+
silence_warnings { GrepFu::Options::COLOR_ON_BY_DEFAULT = true }
|
31
|
+
GrepFu::Options.new([]).color.should be_true
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should allow color to be disabled from the command line when default is color=true" do
|
35
|
+
silence_warnings { GrepFu::Options::COLOR_ON_BY_DEFAULT = true }
|
36
|
+
GrepFu::Options.new(['--no-color']).color.should be_false
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should set the search criteria to the last non-option flag in the list" do
|
40
|
+
GrepFu::Options.new(%w{offer}).search_criteria.should == 'offer'
|
41
|
+
GrepFu::Options.new(%w{a help --color}).search_criteria.should == 'help'
|
42
|
+
GrepFu::Options.new(%w{lib/tasks unrake --verbose --color}).search_criteria.should == 'unrake'
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should expand the file_path to one of the replacement variables, if found" do
|
46
|
+
GrepFu::Options.new(%w{a value}).file_path.should == 'app'
|
47
|
+
GrepFu::Options.new(%w{s hoozits}).file_path.should == 'spec'
|
48
|
+
GrepFu::Options.new(%w{mig down --color}).file_path.should == 'db/migrate'
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should accept an explicit find path, if provided" do
|
52
|
+
GrepFu::Options.new(%w{lib/tasks value}).file_path.should == 'lib/tasks'
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
7
|
+
- 5
|
8
8
|
- 0
|
9
|
-
version: 0.
|
9
|
+
version: 0.5.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Eric Budd
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-06-16 00:00:00 -05:00
|
18
18
|
default_executable: grep-fu
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -28,12 +28,20 @@ extra_rdoc_files:
|
|
28
28
|
- LICENSE
|
29
29
|
- README.md
|
30
30
|
files:
|
31
|
+
- .gitignore
|
31
32
|
- LICENSE
|
32
33
|
- README.md
|
33
34
|
- Rakefile
|
34
35
|
- VERSION
|
35
36
|
- bin/grep-fu
|
36
37
|
- grep-fu.gemspec
|
38
|
+
- lib/grep-fu.rb
|
39
|
+
- lib/grep-fu/find_builder.rb
|
40
|
+
- lib/grep-fu/options.rb
|
41
|
+
- spec/find_builder_spec.rb
|
42
|
+
- spec/grep_fu_spec.rb
|
43
|
+
- spec/options_spec.rb
|
44
|
+
- spec/spec_helper.rb
|
37
45
|
has_rdoc: true
|
38
46
|
homepage: http://github.com/Calamitous/grep-fu
|
39
47
|
licenses: []
|
@@ -64,5 +72,8 @@ rubygems_version: 1.3.6
|
|
64
72
|
signing_key:
|
65
73
|
specification_version: 3
|
66
74
|
summary: Grep-Fu is a very fast, Rails-oriented command-line helper script for grep.
|
67
|
-
test_files:
|
68
|
-
|
75
|
+
test_files:
|
76
|
+
- spec/find_builder_spec.rb
|
77
|
+
- spec/options_spec.rb
|
78
|
+
- spec/spec_helper.rb
|
79
|
+
- spec/grep_fu_spec.rb
|