slack-rtmapi 1.0.0.rc2 → 1.0.0.rc3
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 +4 -4
- data/README.md +3 -2
- data/lib/slack-rtmapi/client.rb +1 -20
- data/lib/slack-rtmapi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2e5e90050638a0d2937d6401f0324edd7b640c25
|
|
4
|
+
data.tar.gz: 254f9e04c95f69c97d2dc1c7ae14bbecf34ff8a0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 08f0c3f7f0cdc5543bfaf84ab3204143f8c9f4d201a54f57a8fc053a9ae7c5e017b94da6e6a84dbbf5b6f14439d528576bc6f1172af9786a4e7de60f6d71baf7
|
|
7
|
+
data.tar.gz: 42f0f27d1ce6661617e3aef01af836923059f1e021a0d85423bb6cc97b3e21007a62ada8732b5873b2a94b032681311510aa3d5e2765dd6aad87d64c5f4780cc
|
data/README.md
CHANGED
|
@@ -4,7 +4,7 @@ slack-rtmapi
|
|
|
4
4
|
All you need to use the RTM api of Slack
|
|
5
5
|
|
|
6
6
|
Please note that this gem is GPLv3. You *CAN'T* use it for proprietary software.
|
|
7
|
-
If you need a licence, please contact me and I will respond
|
|
7
|
+
If you need a licence, please contact me and I will respond within the 24 hours.
|
|
8
8
|
|
|
9
9
|
HOW TO USE
|
|
10
10
|
----------
|
|
@@ -12,10 +12,11 @@ HOW TO USE
|
|
|
12
12
|
```ruby
|
|
13
13
|
require 'slack-rtmapi'
|
|
14
14
|
|
|
15
|
-
url = SlackRTM.get_url token: 'xxx'
|
|
15
|
+
url = SlackRTM.get_url token: 'xxx' # get one on https://api.slack.com/web#basics
|
|
16
16
|
client = SlackRTM::Client.new websocket_url: url
|
|
17
17
|
|
|
18
18
|
client.on :message {|data| p data}
|
|
19
|
+
client.send {type: 'hello'}
|
|
19
20
|
|
|
20
21
|
client.main_loop
|
|
21
22
|
assert false # never ending loop
|
data/lib/slack-rtmapi/client.rb
CHANGED
|
@@ -25,7 +25,7 @@ module SlackRTM
|
|
|
25
25
|
VALID = [:open, :message, :error]
|
|
26
26
|
def on(type, &block)
|
|
27
27
|
unless VALID.include? type
|
|
28
|
-
raise ArgumentError.new "Client#on
|
|
28
|
+
raise ArgumentError.new "Client#on accept one of #{VALID.inspect}"
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
@callbacks ||= {}
|
|
@@ -42,29 +42,18 @@ module SlackRTM
|
|
|
42
42
|
def init
|
|
43
43
|
return if @has_been_init
|
|
44
44
|
|
|
45
|
-
puts "begin init. Init SSL"
|
|
46
|
-
|
|
47
45
|
@socket = init_socket(@socket)
|
|
48
46
|
@socket.connect # costly and blocking !
|
|
49
47
|
|
|
50
|
-
puts "end connect. Init wrapper"
|
|
51
|
-
|
|
52
48
|
internalWrapper = (Struct.new :url, :socket do
|
|
53
49
|
def write(*args)
|
|
54
|
-
puts 'write called'
|
|
55
50
|
self.socket.write(*args)
|
|
56
51
|
end
|
|
57
52
|
end).new @url.to_s, @socket
|
|
58
53
|
|
|
59
|
-
puts 'end wrapper. Init driver'
|
|
60
|
-
|
|
61
54
|
# this, also, is costly and blocking
|
|
62
55
|
@driver = WebSocket::Driver.client internalWrapper
|
|
63
|
-
|
|
64
|
-
puts "end driver. Init callbacks"
|
|
65
|
-
|
|
66
56
|
@driver.on :open do
|
|
67
|
-
puts "connected !"
|
|
68
57
|
@connected = true
|
|
69
58
|
unless @callbacks[:open].nil?
|
|
70
59
|
@callbacks[:open].call
|
|
@@ -76,7 +65,6 @@ module SlackRTM
|
|
|
76
65
|
unless @callbacks[:error].nil?
|
|
77
66
|
@callbacks[:error].call
|
|
78
67
|
end
|
|
79
|
-
raise event
|
|
80
68
|
end
|
|
81
69
|
|
|
82
70
|
@driver.on :message do |event|
|
|
@@ -85,13 +73,7 @@ module SlackRTM
|
|
|
85
73
|
@callbacks[:message].call data
|
|
86
74
|
end
|
|
87
75
|
end
|
|
88
|
-
|
|
89
|
-
puts "end callbacks. Starting driver"
|
|
90
|
-
|
|
91
76
|
@driver.start
|
|
92
|
-
|
|
93
|
-
puts 'end init'
|
|
94
|
-
|
|
95
77
|
@has_been_init = true
|
|
96
78
|
end
|
|
97
79
|
|
|
@@ -101,7 +83,6 @@ module SlackRTM
|
|
|
101
83
|
|
|
102
84
|
# All the polling work is done here
|
|
103
85
|
def inner_loop
|
|
104
|
-
putc '.'
|
|
105
86
|
return if @stop
|
|
106
87
|
data = @socket.readpartial 4096
|
|
107
88
|
return if data.nil? or data.empty?
|
data/lib/slack-rtmapi/version.rb
CHANGED