lita-twitter 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.
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