rbin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/README.md +20 -0
  2. data/Rakefile +23 -0
  3. data/bin/rgrep +4 -0
  4. data/lib/rgrep.rb +27 -0
  5. metadata +67 -0
@@ -0,0 +1,20 @@
1
+ rbin
2
+ ====
3
+
4
+ ruby scripts
5
+
6
+ Install
7
+ -------
8
+
9
+ $ gem install rbin
10
+
11
+ Usage
12
+ -----
13
+
14
+ $ rgrep <regexp> <filename>
15
+
16
+ Author
17
+ ------
18
+
19
+ Minwoo Lee: ermaker __at__ gmail __dot__ com
20
+
@@ -0,0 +1,23 @@
1
+ require 'mg'
2
+ MG.new 'rbin.gemspec'
3
+
4
+
5
+ namespace :check do
6
+ desc 'Flay'
7
+ task :flay do
8
+ system 'flay -s lib'
9
+ end
10
+
11
+ desc 'Reek'
12
+ task :reek do
13
+ system 'reek -q lib'
14
+ end
15
+
16
+ desc 'Roodi'
17
+ task :roodi do
18
+ system 'roodi lib/**/*.rb'
19
+ end
20
+ end
21
+
22
+ desc 'check all. flay, reek, roodi.'
23
+ task :check => [:'check:flay', :'check:reek', :'check:roodi']
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rgrep'
4
+ RGrep.cli(*ARGV)
@@ -0,0 +1,27 @@
1
+ # RGrep class
2
+ class RGrep
3
+ def self.cli *argv
4
+ puts new(*argv).to_s
5
+ end
6
+
7
+ def initialize regexp, *uris
8
+ filenames = uris.select {|uri| File.file? uri}
9
+ @result = filenames.map do |filename|
10
+ rgrep_with regexp, filename
11
+ end.inject([]) {|ret,val| ret += val}
12
+ end
13
+
14
+ def rgrep_with regexp, filename
15
+ result = []
16
+ File.readlines(filename).each_with_index do |contents,index|
17
+ result.push [filename, index, contents] if contents =~ Regexp.new(regexp)
18
+ end
19
+ return result
20
+ end
21
+
22
+ def to_s
23
+ @result.map do |filename,index,contents|
24
+ "#{filename}:#{index}:#{contents}".chomp
25
+ end.join("\n")
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rbin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Minwoo Lee
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-04-10 00:00:00 +09:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: mg
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ description: ruby scripts
26
+ email: ermaker@gmail.com
27
+ executables:
28
+ - rgrep
29
+ extensions: []
30
+
31
+ extra_rdoc_files: []
32
+
33
+ files:
34
+ - README.md
35
+ - Rakefile
36
+ - lib/rgrep.rb
37
+ - bin/rgrep
38
+ has_rdoc: true
39
+ homepage: http://github.com/ermaker/rbin
40
+ licenses: []
41
+
42
+ post_install_message:
43
+ rdoc_options: []
44
+
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: "0"
52
+ version:
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ version:
59
+ requirements: []
60
+
61
+ rubyforge_project:
62
+ rubygems_version: 1.3.5
63
+ signing_key:
64
+ specification_version: 3
65
+ summary: ruby scripts
66
+ test_files: []
67
+