pictor 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source "http://rubygems.org"
3
3
  gem "blather"
4
4
  gem "em-http-request"
5
5
  gem "yajl-ruby"
6
+ gem "activesupport"
6
7
 
7
8
  group :development do
8
9
  gem "bundler", "~> 1.0.0"
data/Gemfile.lock CHANGED
@@ -1,6 +1,7 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ activesupport (2.3.10)
4
5
  addressable (2.2.2)
5
6
  blather (0.4.15)
6
7
  eventmachine (>= 0.12.6)
@@ -25,6 +26,7 @@ PLATFORMS
25
26
  ruby
26
27
 
27
28
  DEPENDENCIES
29
+ activesupport
28
30
  blather
29
31
  bundler (~> 1.0.0)
30
32
  em-http-request
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 1.0.0
data/lib/pictor/client.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'blather/client/dsl'
2
2
  require 'em-http'
3
3
  require 'yajl'
4
+ require 'active_support/core_ext/array'
4
5
 
5
6
  # Seems like Ejabberd sends back a buggy stanza with the namespace set to "",
6
7
  # so register that namespace as a standard Blather::Stanza::Message.
@@ -26,14 +27,16 @@ module Pictor
26
27
  end
27
28
 
28
29
  message :groupchat?, :body => /^Pictor:/ do |m|
29
- rxp = Regexp.new('Pictor: (.*)', 'i')
30
- query = rxp.match(m.body)[1]
30
+ puts "From: #{m.from}"
31
+ rxp = Regexp.new('Pictor: (.*)', 'i').match(m.body)
32
+ query = rxp[1].blank? ? 'unicorn' : rxp[1]
31
33
  puts "Searching: #{query}"
32
34
  http = EventMachine::HttpRequest.new('http://ajax.googleapis.com/ajax/services/search/images').get(:query => {'key' => @key, 'v' => '1.0', 'q' => query}, :timeout => 10)
33
35
  http.errback { puts 'Search Failed' }
34
36
  http.callback {
35
37
  r = Yajl::Parser.parse(http.response)
36
- url = r['responseData']['results'].first['url']
38
+ srand
39
+ url = r['responseData']['results'].sample['unescapedUrl'] + "#.png"
37
40
  puts "Returning: #{url}"
38
41
  m = Blather::Stanza::Message.new
39
42
  m.to = @room
data/pictor.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pictor}
8
- s.version = "0.0.2"
8
+ s.version = "1.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["W. Andrew Loe III"]
12
- s.date = %q{2011-01-17}
12
+ s.date = %q{2011-01-31}
13
13
  s.default_executable = %q{pictor}
14
14
  s.email = %q{andrew@andrewloe.com}
15
15
  s.executables = ["pictor"]
@@ -44,6 +44,7 @@ Gem::Specification.new do |s|
44
44
  s.add_runtime_dependency(%q<blather>, [">= 0"])
45
45
  s.add_runtime_dependency(%q<em-http-request>, [">= 0"])
46
46
  s.add_runtime_dependency(%q<yajl-ruby>, [">= 0"])
47
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
47
48
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
49
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
49
50
  s.add_development_dependency(%q<rcov>, [">= 0"])
@@ -51,6 +52,7 @@ Gem::Specification.new do |s|
51
52
  s.add_dependency(%q<blather>, [">= 0"])
52
53
  s.add_dependency(%q<em-http-request>, [">= 0"])
53
54
  s.add_dependency(%q<yajl-ruby>, [">= 0"])
55
+ s.add_dependency(%q<activesupport>, [">= 0"])
54
56
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
55
57
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
56
58
  s.add_dependency(%q<rcov>, [">= 0"])
@@ -59,6 +61,7 @@ Gem::Specification.new do |s|
59
61
  s.add_dependency(%q<blather>, [">= 0"])
60
62
  s.add_dependency(%q<em-http-request>, [">= 0"])
61
63
  s.add_dependency(%q<yajl-ruby>, [">= 0"])
64
+ s.add_dependency(%q<activesupport>, [">= 0"])
62
65
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
63
66
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
64
67
  s.add_dependency(%q<rcov>, [">= 0"])
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pictor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
+ - 1
7
8
  - 0
8
9
  - 0
9
- - 2
10
- version: 0.0.2
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - W. Andrew Loe III
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-17 00:00:00 -08:00
18
+ date: 2011-01-31 00:00:00 -08:00
19
19
  default_executable: pictor
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -60,11 +60,25 @@ dependencies:
60
60
  - 0
61
61
  version: "0"
62
62
  requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ prerelease: false
65
+ type: :runtime
66
+ name: activesupport
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ requirement: *id004
63
77
  - !ruby/object:Gem::Dependency
64
78
  prerelease: false
65
79
  type: :development
66
80
  name: bundler
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
81
+ version_requirements: &id005 !ruby/object:Gem::Requirement
68
82
  none: false
69
83
  requirements:
70
84
  - - ~>
@@ -75,12 +89,12 @@ dependencies:
75
89
  - 0
76
90
  - 0
77
91
  version: 1.0.0
78
- requirement: *id004
92
+ requirement: *id005
79
93
  - !ruby/object:Gem::Dependency
80
94
  prerelease: false
81
95
  type: :development
82
96
  name: jeweler
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
97
+ version_requirements: &id006 !ruby/object:Gem::Requirement
84
98
  none: false
85
99
  requirements:
86
100
  - - ~>
@@ -91,12 +105,12 @@ dependencies:
91
105
  - 5
92
106
  - 2
93
107
  version: 1.5.2
94
- requirement: *id005
108
+ requirement: *id006
95
109
  - !ruby/object:Gem::Dependency
96
110
  prerelease: false
97
111
  type: :development
98
112
  name: rcov
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
113
+ version_requirements: &id007 !ruby/object:Gem::Requirement
100
114
  none: false
101
115
  requirements:
102
116
  - - ">="
@@ -105,7 +119,7 @@ dependencies:
105
119
  segments:
106
120
  - 0
107
121
  version: "0"
108
- requirement: *id006
122
+ requirement: *id007
109
123
  description:
110
124
  email: andrew@andrewloe.com
111
125
  executables: