factor-connector-slack 0.0.2 → 0.0.3

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.
@@ -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