rbin 0.0.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.
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
+