factor-connector-slack 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ require 'factor-connector-api'
2
2
  require 'rest_client'
3
3
 
4
4
  Factor::Connector.service 'slack_channel' do
5
- action "list" do |params|
5
+ action 'list' do |params|
6
6
 
7
7
  token = params['token']
8
8
 
@@ -12,13 +12,18 @@ Factor::Connector.service 'slack_channel' do
12
12
  token: token
13
13
  }
14
14
 
15
- info "Getting all Channels"
15
+ info 'Getting all Channels'
16
16
  begin
17
17
  uri = 'https://slack.com/api/channels.list'
18
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
18
+ raw_response = RestClient::Request.execute(
19
+ url: uri,
20
+ method: 'POST',
21
+ ssl_version: 'SSLv23',
22
+ payload: payload
23
+ )
19
24
  response = JSON.parse(raw_response)
20
25
  rescue
21
- fail "Failed to connect to Slack API, check your credentials"
26
+ raise 'failed to connect to Slack API, check your credentials'
22
27
  end
23
28
 
24
29
  fail response['error'] unless response['ok']
@@ -26,114 +31,139 @@ Factor::Connector.service 'slack_channel' do
26
31
  action_callback response
27
32
  end
28
33
 
29
- action "invite" do |params|
30
- token = params['token']
31
- channel = params['channel']
32
- user = params['user']
34
+ action 'invite' do |params|
35
+ token = params['token']
36
+ channel_name = params['channel']
37
+ user_name = params['user']
33
38
 
34
39
  fail 'Token is required' unless token
35
- fail 'Channel is required' unless channel
36
- fail 'Username is required' unless user
40
+ fail 'Channel is required' unless channel_name
41
+ fail 'Username is required' unless user_name
37
42
 
38
43
  payload = {
39
44
  token: token
40
45
  }
41
46
 
42
- info "Getting all Channels"
47
+ info 'Getting all Channels'
43
48
  begin
44
49
  uri = 'https://slack.com/api/channels.list'
45
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
50
+ raw_response = RestClient::Request.execute(
51
+ url: uri,
52
+ method: 'POST',
53
+ ssl_version: 'SSLv23',
54
+ payload: payload
55
+ )
46
56
  response = JSON.parse(raw_response)
47
57
  rescue
48
- fail "Failed to connect to Slack API, check your credentials"
58
+ fail 'failed to connect to Slack API, check your credentials'
49
59
  end
50
60
 
51
61
  fail response['error'] unless response['ok']
52
62
 
53
- response['channels'].each do |n|
54
- if n['name'] == channel
55
- channel = n['id']
56
- end
57
- end
63
+ channel = response['channels'].find { |c| c['name'] || c['id'] == channel_name }
64
+
65
+ fail "Channel '#{channel_name}' wasn't found" unless channel
58
66
 
59
- info "Getting Users"
67
+ channel_id = channel['id']
68
+
69
+ info 'Getting Users'
60
70
  begin
61
71
  uri = 'https://slack.com/api/users.list'
62
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
72
+ raw_response = RestClient::Request.execute(
73
+ url: uri,
74
+ method: 'POST',
75
+ ssl_version: 'SSLv23',
76
+ payload: payload
77
+ )
63
78
  response = JSON.parse(raw_response)
64
79
  rescue
65
- fail "Failed to connect to Slack API, check your credentials"
80
+ fail 'failed to connect to Slack API, check your credentials'
66
81
  end
67
82
 
68
83
  fail response['error'] unless response['ok']
69
84
 
70
- response['members'].each do |n|
71
- if n['name'] == user
72
- user = n['id']
73
- end
74
- end
85
+ user = response['members'].find { |m| m['name'] || m['id'] == user_name }
86
+
87
+ fail "User '#{user_name}' was not found" unless user
88
+
89
+ user_id = user['id']
75
90
 
76
91
  payload = {
77
92
  token: token,
78
- channel: channel,
79
- user: user
93
+ channel: channel_id,
94
+ user: user_id
80
95
  }
81
96
 
82
97
  info "Inviting #{user} to #{channel}"
83
98
  begin
84
99
  uri = 'https://slack.com/api/channels.invite'
85
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
100
+ raw_response = RestClient::Request.execute(
101
+ url: uri,
102
+ method: 'POST',
103
+ ssl_version: 'SSLv23',
104
+ payload: payload
105
+ )
86
106
  response = JSON.parse(raw_response)
87
107
  rescue
88
- fail "Failed to connect to Slack API, check your credentials"
108
+ fail 'failed to connect to Slack API, check your credentials'
89
109
  end
90
110
 
91
- fail response['error'] unless response['ok']
111
+ warn response['error'] unless response['ok']
92
112
 
93
113
  action_callback response
94
114
  end
95
115
 
96
- action "history" do |params|
116
+ action 'history' do |params|
97
117
 
98
- token = params['token']
99
- channel = params['channel']
118
+ token = params['token']
119
+ channel_name = params['channel']
100
120
 
101
121
  fail 'Token is required' unless token
102
- fail 'Channel is required' unless channel
122
+ fail 'Channel is required' unless channel_name
103
123
 
104
124
  payload = {
105
125
  token: token
106
126
  }
107
127
 
108
- info "Getting all Channels"
128
+ info 'Getting all Channels'
109
129
  begin
110
130
  uri = 'https://slack.com/api/channels.list'
111
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
131
+ raw_response = RestClient::Request.execute(
132
+ url: uri,
133
+ method: 'POST',
134
+ ssl_version: 'SSLv23',
135
+ payload: payload
136
+ )
112
137
  response = JSON.parse(raw_response)
113
138
  rescue
114
- fail "Failed to connect to Slack API, check your credentials"
139
+ fail 'failed to connect to Slack API, check your credentials'
115
140
  end
116
141
 
117
142
  fail response['error'] unless response['ok']
118
143
 
119
- response['channels'].each do |n|
120
- if n['name'] == channel
121
- channel = n['id']
122
- end
123
- end
144
+ channel = response['channels'].find { |c| c['name'] || c['id'] == channel_name }
145
+
146
+ fail "Channel '#{channel_name}' wasn't found" unless channel
147
+
148
+ channel_id = channel['id']
124
149
 
125
150
  payload = {
126
151
  token: token,
127
- channel: channel,
152
+ channel: channel_id
128
153
  }
129
154
 
130
155
  info "Getting History for #{channel}"
131
156
  begin
132
157
  uri = 'https://slack.com/api/channels.history'
133
- raw_reponse = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
134
- response = JSON.parse(raw_reponse)
158
+ raw_response = RestClient::Request.execute(
159
+ url: uri,
160
+ method: 'POST',
161
+ ssl_version: 'SSLv23',
162
+ payload: payload
163
+ )
164
+ response = JSON.parse(raw_response)
135
165
  rescue
136
- fail "Failed to connect to Slack API, check your credentials"
166
+ fail 'failed to connect to Slack API, check your credentials'
137
167
  end
138
168
 
139
169
  fail response['error'] unless response['ok']
@@ -141,50 +171,60 @@ Factor::Connector.service 'slack_channel' do
141
171
  action_callback response
142
172
  end
143
173
 
144
- action "topic" do |params|
174
+ action 'topic' do |params|
145
175
 
146
- token = params['token']
147
- channel = params['channel']
148
- topic = params['topic']
176
+ token = params['token']
177
+ channel_name = params['channel']
178
+ topic = params['topic']
149
179
 
150
180
  fail 'Token is required' unless token
151
- fail 'Channel is required' unless channel
181
+ fail 'Channel is required' unless channel_name
152
182
  fail 'Topic is required' unless topic
153
183
 
154
184
  payload = {
155
185
  token: token
156
186
  }
157
187
 
158
- info "Getting all Channels"
188
+ info 'Getting all Channels'
159
189
  begin
160
190
  uri = 'https://slack.com/api/channels.list'
161
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
191
+ raw_response = RestClient::Request.execute(
192
+ url: uri,
193
+ method: 'POST',
194
+ ssl_version: 'SSLv23',
195
+ payload: payload
196
+ )
162
197
  response = JSON.parse(raw_response)
163
198
  rescue
164
- fail "Failed to connect to Slack API, check your credentials"
199
+ fail 'failed to connect to Slack API, check your credentials'
165
200
  end
166
201
 
167
202
  fail response['error'] unless response['ok']
168
203
 
169
- response['channels'].each do |n|
170
- if n['name'] == channel
171
- channel = n['id']
172
- end
173
- end
204
+ channel = response['channels'].find { |c| c['name'] || c['id'] == channel_name }
205
+
206
+ fail "Channel '#{channel_name}' wasn't found" unless channel
207
+
208
+ channel_id = channel['id']
174
209
 
175
210
  payload = {
176
211
  token: token,
177
- channel: channel,
212
+ channel: channel_id,
178
213
  topic: topic
179
214
  }
180
215
 
181
- info "Setting Topic"
216
+ info 'Setting Topic'
182
217
  begin
183
218
  uri = 'https://slack.com/api/channels.setTopic'
184
- raw_reponse = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
185
- response = JSON.parse(raw_reponse)
219
+ raw_response = RestClient::Request.execute(
220
+ url: uri,
221
+ method: 'POST',
222
+ ssl_version: 'SSLv23',
223
+ payload: payload
224
+ )
225
+ response = JSON.parse(raw_response)
186
226
  rescue
187
- fail "Failed to connect to Slack API, check your credentials"
227
+ fail 'failed to connect to Slack API, check your credentials'
188
228
  end
189
229
 
190
230
  fail response['error'] unless response['ok']
@@ -2,7 +2,7 @@ require 'factor-connector-api'
2
2
  require 'rest_client'
3
3
 
4
4
  Factor::Connector.service 'slack_chat' do
5
- action "send" do |params|
5
+ action 'send' do |params|
6
6
 
7
7
  token = params['token']
8
8
  channel = params['channel']
@@ -18,13 +18,18 @@ Factor::Connector.service 'slack_chat' do
18
18
  text: text
19
19
  }
20
20
 
21
- info "Posting Message"
21
+ info 'Posting Message'
22
22
  begin
23
23
  uri = 'https://slack.com/api/chat.postMessage'
24
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
24
+ raw_response = RestClient::Request.execute(
25
+ url: uri,
26
+ method: 'POST',
27
+ ssl_version: 'SSLv23',
28
+ payload: payload
29
+ )
25
30
  response = JSON.parse(raw_response)
26
31
  rescue
27
- fail "Failed to connect to Slack API, check your credentials"
32
+ fail 'failed to connect to Slack API, check your credentials'
28
33
  end
29
34
 
30
35
  fail response['error'] unless response['ok']
@@ -2,7 +2,7 @@ require 'factor-connector-api'
2
2
  require 'rest_client'
3
3
 
4
4
  Factor::Connector.service 'slack_group' do
5
- action "create" do |params|
5
+ action 'create' do |params|
6
6
 
7
7
  token = params['token']
8
8
  name = params['name']
@@ -12,16 +12,21 @@ Factor::Connector.service 'slack_group' do
12
12
 
13
13
  payload = {
14
14
  token: token,
15
- name: name,
15
+ name: name
16
16
  }
17
17
 
18
- info "Creating Group"
18
+ info 'Creating Group'
19
19
  begin
20
20
  uri = 'https://slack.com/api/groups.create'
21
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
21
+ raw_response = RestClient::Request.execute(
22
+ url: uri,
23
+ method: 'POST',
24
+ ssl_version: 'SSLv23',
25
+ payload: payload
26
+ )
22
27
  response = JSON.parse(raw_response)
23
28
  rescue
24
- fail "Failed to connect to Slack API, check your credentials"
29
+ fail 'failed to connect to Slack API, check your credentials'
25
30
  end
26
31
 
27
32
  fail response['error'] unless response['ok']
@@ -29,29 +34,82 @@ Factor::Connector.service 'slack_group' do
29
34
  action_callback response
30
35
  end
31
36
 
32
- action "invite" do |params|
37
+ action 'invite' do |params|
33
38
 
34
- token = params['token']
35
- channel = params['channel']
36
- user = params['user']
39
+ token = params['token']
40
+ channel_name = params['channel']
41
+ user_name = params['user']
37
42
 
38
43
  fail 'Token is required' unless token
39
- fail 'Channel is required' unless channel
40
- fail 'Username is required' unless user
44
+ fail 'Channel is required' unless channel_name
45
+ fail 'Username is required' unless user_name
46
+
47
+ payload = {
48
+ token: token
49
+ }
50
+
51
+ info 'Getting all Channels'
52
+ begin
53
+ uri = 'https://slack.com/api/groups.list'
54
+ raw_response = RestClient::Request.execute(
55
+ url: uri,
56
+ method: 'POST',
57
+ ssl_version: 'SSLv23',
58
+ payload: payload
59
+ )
60
+ response = JSON.parse(raw_response)
61
+ rescue
62
+ fail 'failed to connect to Slack API, check your credentials'
63
+ end
64
+
65
+ fail response['error'] unless response['ok']
66
+
67
+ channel = response['groups'].find { |c| c['name'] == channel_name }
68
+
69
+ fail "Channel '#{channel_name}' wasn't found" unless channel
70
+
71
+ channel_id = channel['id']
72
+
73
+ info 'Getting Users'
74
+ begin
75
+ uri = 'https://slack.com/api/users.list'
76
+ raw_response = RestClient::Request.execute(
77
+ url: uri,
78
+ method: 'POST',
79
+ ssl_version: 'SSLv23',
80
+ payload: payload
81
+ )
82
+ response = JSON.parse(raw_response)
83
+ rescue
84
+ fail 'failed to connect to Slack API, check your credentials'
85
+ end
86
+
87
+ fail response['error'] unless response['ok']
88
+
89
+ user = response['members'].find { |m| m['name'] == user_name }
90
+
91
+ fail "User '#{user_name}' was not found" unless user
92
+
93
+ user_id = user['id']
41
94
 
42
95
  payload = {
43
96
  token: token,
44
- channel: channel,
45
- user: user
97
+ channel: channel_id,
98
+ user: user_id
46
99
  }
47
100
 
48
- info "Inviting User"
101
+ info 'Inviting User'
49
102
  begin
50
103
  uri = 'https://slack.com/api/groups.invite'
51
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
104
+ raw_response = RestClient::Request.execute(
105
+ url: uri,
106
+ method: 'POST',
107
+ ssl_version: 'SSLv23',
108
+ payload: payload
109
+ )
52
110
  response = JSON.parse(raw_response)
53
111
  rescue
54
- fail "Failed to connect to Slack API, check your credentials"
112
+ fail 'failed to connect to Slack API, check your credentials'
55
113
  end
56
114
 
57
115
  fail response['error'] unless response['ok']
@@ -6,19 +6,24 @@ Factor::Connector.service 'slack_user' do
6
6
 
7
7
  token = params['token']
8
8
 
9
- fail "Token is required" unless token
9
+ fail 'Token is required' unless token
10
10
 
11
11
  payload = {
12
12
  token: token
13
13
  }
14
14
 
15
- info "Listing Users"
15
+ info 'Listing Users'
16
16
  begin
17
17
  uri = 'https://slack.com/api/users.list'
18
- raw_response = RestClient::Request.execute(url:uri, method:'POST', ssl_version:'SSLv23', payload:payload)
18
+ raw_response = RestClient::Request.execute(
19
+ url: uri,
20
+ method: 'POST',
21
+ ssl_version: 'SSLv23',
22
+ payload: payload
23
+ )
19
24
  response = JSON.parse(raw_response)
20
25
  rescue
21
- fail "Failed to connect to Slack API, check your credentials"
26
+ fail 'failed to connect to Slack API, check your credentials'
22
27
  end
23
28
 
24
29
  fail response['error'] unless response['ok']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factor-connector-slack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -32,17 +32,17 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: '0'
37
+ version: 1.7.3
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: 1.7.3
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: codeclimate-test-reporter
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 0.7.1
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubocop
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.26.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 0.26.1
110
126
  description:
111
127
  email:
112
128
  - andrewrdakers@gmail.com