roflbot 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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