lita-twitter 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ba7a06c938a206af9c3165e968b27032dc2d0b08
4
- data.tar.gz: 6cc6a871ed9f2efd7216c36cc5efcaf550873cd2
3
+ metadata.gz: 220684bebbf25c83582362aaddd3053894e264e1
4
+ data.tar.gz: 603a715fcb49c64351c08afe859773c7d251178c
5
5
  SHA512:
6
- metadata.gz: 9828db77c6044ab250cffabab36d734b5f587b505a6e428a50a923a85a80acc438a903b13924117b4a8c3bd16c005bd65241d179b8da32171a9c82317e1f1e3f
7
- data.tar.gz: dec70642141617ddc90e1d612568a2dcc3e218d5067d014b4dcfb3c22620415e10253a89b72754427964fae443ebad02083a253d44e8c0ada57aa90505724bf6
6
+ metadata.gz: 49c78b6b5fe68d9c630c6d13df46467307966b0d5f262f4f20951dbcbe96ce5c381ff3f2f13f5f6b2f418e60307b97b5dc28018af3661e2b00a0702e95e23d46
7
+ data.tar.gz: ea9ac2dc630e82deec6f98977df16c173e5eb4867201c999c308cb57ce4bf1a59f518238d8422f129a5fe412b2cc6f94deff12ebe0a3d2f1ade67b23174b2ec7
@@ -17,10 +17,17 @@ module Lita
17
17
  end
18
18
  attr_reader :connector
19
19
 
20
- # Twitter does not support these methods.
21
- def join; end
22
- def part; end
23
- def set_topic; end
20
+ def join(user)
21
+ connector.follow(user)
22
+ end
23
+
24
+ def part(user)
25
+ connector.unfollow(user)
26
+ end
27
+
28
+ def set_topic(target, topic)
29
+ connector.update_name(topic)
30
+ end
24
31
 
25
32
  def send_messages(target, strings)
26
33
  connector.message(target, strings)
@@ -34,7 +41,6 @@ module Lita
34
41
  end
35
42
 
36
43
  def shut_down
37
- connector.shut_down
38
44
  robot.trigger(:disconnected)
39
45
  end
40
46
 
@@ -50,6 +50,9 @@ module Lita
50
50
  message.command!
51
51
  robot.receive(message)
52
52
  end
53
+ when ::Twitter::Streaming::Event
54
+ event = object
55
+ on_streaming_event(event) if event.source.screen_name != robot.name
53
56
  end
54
57
  end
55
58
  end
@@ -72,13 +75,32 @@ module Lita
72
75
  end
73
76
  end
74
77
 
75
- def rooms
78
+ def update_name(name)
79
+ rest_client.update_profile(name: topic)
76
80
  end
77
81
 
78
- def shut_down
82
+ def join(user)
83
+ rest_client.follow(user)
79
84
  end
80
85
 
81
- private
86
+ def part(user)
87
+ rest_client.unfollow(user)
88
+ end
89
+
90
+ private
91
+ def on_streaming_event(event)
92
+ # see: https://dev.twitter.com/docs/streaming-apis/messages
93
+
94
+ user = User.new(event.source.id, name: event.source.screen_name)
95
+ case event.name
96
+ when :favorite
97
+ robot.trigger(:favorited, user: user, tweet: event.target_object)
98
+ when :unfavorite
99
+ robot.trigger(:unfavorited, user: user, tweet: event.target_object)
100
+ when :follow
101
+ robot.trigger(:followed, user: user)
102
+ end
103
+ end
82
104
  end
83
105
  end
84
106
  Lita.register_adapter(:twitter, Twitter)
@@ -1,5 +1,5 @@
1
1
  module Lita
2
2
  module Twitter
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - fukayatsu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-04 00:00:00.000000000 Z
11
+ date: 2014-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita