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 CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -74,7 +74,11 @@ module Roflbot
74
74
  end
75
75
 
76
76
  def respond_via_twitter
77
- mentions = @twitter.mentions(@since_id ? {:since_id => @since_id} : {})
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
- case expectation.response
90
- when Proc
91
- @twitter.update("@#{tweet.user.screen_name} #{expectation.response.call}")
92
- when String
93
- @twitter.update("@#{tweet.user.screen_name} #{expectation.response}")
94
- end
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
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{roflbot}
8
- s.version = "0.0.4"
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-30}
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}
@@ -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
- - 4
9
- version: 0.0.4
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-30 00:00:00 -05:00
17
+ date: 2010-07-06 00:00:00 -05:00
18
18
  default_executable: roflbot
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency