roogle 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/VERSION +1 -1
  2. data/bin/roogle +0 -4
  3. data/lib/roogle.rb +27 -11
  4. data/roogle.gemspec +2 -2
  5. metadata +4 -4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
data/bin/roogle CHANGED
@@ -1,9 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'mechanize'
4
- require 'term/ansicolor'
5
- require 'launchy'
6
-
7
3
  require 'roogle'
8
4
 
9
5
  Roogle.new.do_search(ARGV.join(' '))
@@ -1,3 +1,7 @@
1
+ require 'mechanize'
2
+ require 'term/ansicolor'
3
+ require 'launchy'
4
+
1
5
  class Roogle
2
6
  include Term::ANSIColor
3
7
 
@@ -8,15 +12,8 @@ class Roogle
8
12
  @mech = ::Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari' }
9
13
  end
10
14
 
11
- def do_search(query)
12
- search_result = nil
13
- @mech.get(THE_GOOGLE) do |page|
14
- search_result = page.form_with(:name => 'f') do |search|
15
- search.q = ARGV.join(' ')
16
- end.submit
17
- end
18
-
19
- search_result.parser.css("h3.r a").each do |link|
15
+ def scan_page(page)
16
+ page.parser.css("h3.r a").each do |link|
20
17
  @results << link
21
18
  print red, "%2s " % [@results.size], reset
22
19
  print yellow, link.text[0..60].ljust(62), reset
@@ -27,8 +24,27 @@ class Roogle
27
24
 
28
25
  print ":"
29
26
 
30
- n = STDIN.gets.chomp.to_i
27
+ n = STDIN.gets.chomp
28
+
29
+ if n == 'n'
30
+ page = page.links.find {|l| l.text == "Next" }.click
31
+ scan_page(page)
32
+ elsif n == 'p'
33
+ page = page.links.find {|l| l.text == "Previous" }.click
34
+ scan_page(page)
35
+ end
36
+
37
+ ::Launchy.open(@results[n.to_i - 1].attr('href')) unless n.to_i < 1
38
+ end
39
+
40
+ def do_search(query)
41
+ search_result = nil
42
+ @mech.get(THE_GOOGLE) do |page|
43
+ search_result = page.form_with(:name => 'f') do |search|
44
+ search.q = query
45
+ end.submit
46
+ end
31
47
 
32
- ::Launchy.open(@results[n - 1].attr('href')) unless n < 1
48
+ scan_page(search_result)
33
49
  end
34
50
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{roogle}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ehren Murdick"]
12
- s.date = %q{2010-09-24}
12
+ s.date = %q{2010-09-28}
13
13
  s.description = %q{Google stuff on the command line}
14
14
  s.email = %q{ehren.murdick@gmail.com}
15
15
  s.executables = ["roogle", "roogle"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roogle
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ehren Murdick
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-24 00:00:00 -07:00
18
+ date: 2010-09-28 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency