roflbot 0.0.4 → 0.0.5
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/VERSION +1 -1
- data/lib/roflbot/base.rb +14 -7
- data/roflbot.gemspec +2 -2
- data/test/roflbot/test_base.rb +12 -4
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/lib/roflbot/base.rb
CHANGED
@@ -74,7 +74,11 @@ module Roflbot
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def respond_via_twitter
|
77
|
-
|
77
|
+
begin
|
78
|
+
mentions = @twitter.mentions(@since_id ? {:since_id => @since_id} : {})
|
79
|
+
rescue StandardError
|
80
|
+
mentions = []
|
81
|
+
end
|
78
82
|
if !mentions.empty?
|
79
83
|
@since_id = mentions[-1].id
|
80
84
|
@options['accounts']['Twitter']['since_id'] = @since_id
|
@@ -86,12 +90,15 @@ module Roflbot
|
|
86
90
|
message = tweet.text.sub(/^@[^\s]+\s+/, "")
|
87
91
|
|
88
92
|
next if !expectation.matches?(message)
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
93
|
+
|
94
|
+
status =
|
95
|
+
case expectation.response
|
96
|
+
when Proc
|
97
|
+
"@#{tweet.user.screen_name} #{expectation.response.call}"
|
98
|
+
when String
|
99
|
+
"@#{tweet.user.screen_name} #{expectation.response}"
|
100
|
+
end
|
101
|
+
@twitter.update(status, :in_reply_to_status_id => tweet.id)
|
95
102
|
break
|
96
103
|
end
|
97
104
|
end
|
data/roflbot.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{roflbot}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jeremy Stephens"]
|
12
|
-
s.date = %q{2010-06
|
12
|
+
s.date = %q{2010-07-06}
|
13
13
|
s.default_executable = %q{roflbot}
|
14
14
|
s.description = %q{roflbot will make you a rofl waffle}
|
15
15
|
s.email = %q{viking415@gmail.com}
|
data/test/roflbot/test_base.rb
CHANGED
@@ -52,22 +52,30 @@ module Roflbot
|
|
52
52
|
|
53
53
|
seq = sequence("foo")
|
54
54
|
@twitter.expects(:mentions).returns([fake_tweet("hey", 12345)]).in_sequence(seq)
|
55
|
-
@twitter.expects(:update).with("@dudeguy oh hai").in_sequence(seq)
|
55
|
+
@twitter.expects(:update).with("@dudeguy oh hai", :in_reply_to_status_id => 12345).in_sequence(seq)
|
56
56
|
roflbot.respond_via_twitter
|
57
57
|
|
58
58
|
seq = sequence("bar")
|
59
59
|
@twitter.expects(:mentions).with(:since_id => 12345).returns([fake_tweet("hey", 23456)]).in_sequence(seq)
|
60
|
-
@twitter.expects(:update).with("@dudeguy oh hai").in_sequence(seq)
|
60
|
+
@twitter.expects(:update).with("@dudeguy oh hai", :in_reply_to_status_id => 23456).in_sequence(seq)
|
61
61
|
roflbot.respond_via_twitter
|
62
62
|
end
|
63
63
|
|
64
|
+
def test_handles_twitter_exceptions
|
65
|
+
roflbot = Base.new(@options)
|
66
|
+
roflbot.expects(/^hey$/).responds("oh hai")
|
67
|
+
|
68
|
+
@twitter.expects(:mentions).raises(Twitter::TwitterError, 'foo')
|
69
|
+
assert_nothing_raised { roflbot.respond_via_twitter }
|
70
|
+
end
|
71
|
+
|
64
72
|
def test_saves_since_id
|
65
73
|
roflbot = Base.new(@options)
|
66
74
|
roflbot.expects(/^hey$/).responds("oh hai")
|
67
75
|
|
68
76
|
seq = sequence("foo")
|
69
77
|
@twitter.expects(:mentions).returns([fake_tweet("hey", 12345)]).in_sequence(seq)
|
70
|
-
@twitter.expects(:update).with("@dudeguy oh hai").in_sequence(seq)
|
78
|
+
@twitter.expects(:update).with("@dudeguy oh hai", kind_of(Hash)).in_sequence(seq)
|
71
79
|
roflbot.respond_via_twitter
|
72
80
|
|
73
81
|
assert_equal 12345, roflbot.options['accounts']['Twitter']['since_id']
|
@@ -80,7 +88,7 @@ module Roflbot
|
|
80
88
|
|
81
89
|
seq = sequence("foo")
|
82
90
|
@twitter.expects(:mentions).with(:since_id => 1337).returns([fake_tweet("hey", 12345)]).in_sequence(seq)
|
83
|
-
@twitter.expects(:update).with("@dudeguy oh hai").in_sequence(seq)
|
91
|
+
@twitter.expects(:update).with("@dudeguy oh hai", kind_of(Hash)).in_sequence(seq)
|
84
92
|
roflbot.respond_via_twitter
|
85
93
|
end
|
86
94
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 5
|
9
|
+
version: 0.0.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Jeremy Stephens
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-06
|
17
|
+
date: 2010-07-06 00:00:00 -05:00
|
18
18
|
default_executable: roflbot
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|