slack-ruby-bot-server 0.9.0 → 0.12.1
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/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +44 -7
- data/.travis.yml +7 -5
- data/CHANGELOG.md +48 -19
- data/Gemfile +3 -3
- data/LICENSE +1 -1
- data/README.md +147 -23
- data/UPGRADING.md +42 -2
- data/images/create-app.png +0 -0
- data/lib/slack-ruby-bot-server.rb +9 -11
- data/lib/slack-ruby-bot-server/api.rb +4 -4
- data/lib/slack-ruby-bot-server/api/endpoints.rb +3 -3
- data/lib/slack-ruby-bot-server/api/endpoints/teams_endpoint.rb +20 -5
- data/lib/slack-ruby-bot-server/api/helpers.rb +4 -4
- data/lib/slack-ruby-bot-server/api/helpers/cursor_helpers.rb +2 -0
- data/lib/slack-ruby-bot-server/api/helpers/sort_helpers.rb +1 -0
- data/lib/slack-ruby-bot-server/api/middleware.rb +1 -5
- data/lib/slack-ruby-bot-server/api/presenters.rb +5 -5
- data/lib/slack-ruby-bot-server/api/presenters/status_presenter.rb +1 -0
- data/lib/slack-ruby-bot-server/app.rb +0 -27
- data/lib/slack-ruby-bot-server/config.rb +10 -0
- data/lib/slack-ruby-bot-server/config/database_adapters/activerecord.rb +6 -2
- data/lib/slack-ruby-bot-server/config/database_adapters/mongoid.rb +4 -2
- data/lib/slack-ruby-bot-server/models/team/activerecord.rb +8 -5
- data/lib/slack-ruby-bot-server/models/team/methods.rb +0 -13
- data/lib/slack-ruby-bot-server/models/team/mongoid.rb +11 -4
- data/lib/slack-ruby-bot-server/server.rb +1 -0
- data/lib/slack-ruby-bot-server/service.rb +51 -9
- data/lib/slack-ruby-bot-server/version.rb +1 -1
- data/public/index.html.erb +1 -0
- data/public/scripts/messages.js +33 -0
- data/public/scripts/register.js +3 -32
- data/sample_apps/sample_app_activerecord/Gemfile +1 -0
- data/sample_apps/sample_app_activerecord/README.md +1 -0
- data/sample_apps/sample_app_activerecord/config.ru +8 -1
- data/sample_apps/sample_app_activerecord/config/postgresql.yml +1 -1
- data/sample_apps/sample_app_activerecord/db/migrate/20170307164946_create_teams_table.rb +0 -1
- data/sample_apps/sample_app_activerecord/db/migrate/20190323181453_add_activated_fields.rb +7 -0
- data/sample_apps/sample_app_activerecord/db/schema.rb +6 -3
- data/sample_apps/sample_app_mongoid/Gemfile +1 -0
- data/slack-ruby-bot-server.gemspec +2 -3
- metadata +10 -25
- data/app.json +0 -9
- data/images/new.png +0 -0
- data/lib/slack-ruby-bot-server/models.rb +0 -1
data/public/index.html.erb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<title>Slack Ruby Bot Server</title>
|
|
4
4
|
<script src="/scripts/jquery-1.7.1.min.js"></script>
|
|
5
5
|
<script src="/scripts/url.min.js"></script>
|
|
6
|
+
<script src="/scripts/messages.js"></script>
|
|
6
7
|
<script src="/scripts/register.js"></script>
|
|
7
8
|
<script src="/scripts/stats.js"></script>
|
|
8
9
|
</head>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var SlackRubyBotServer = {};
|
|
2
|
+
|
|
3
|
+
$(document).ready(function() {
|
|
4
|
+
|
|
5
|
+
SlackRubyBotServer.message = function(text) {
|
|
6
|
+
$('#messages').fadeOut('slow', function() {
|
|
7
|
+
$('#messages').fadeIn('slow').html(text)
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
SlackRubyBotServer.error = function(xhr) {
|
|
12
|
+
try {
|
|
13
|
+
var message;
|
|
14
|
+
if (xhr.responseText) {
|
|
15
|
+
var rc = JSON.parse(xhr.responseText);
|
|
16
|
+
if (rc && rc.message) {
|
|
17
|
+
message = rc.message;
|
|
18
|
+
if (message == 'invalid_code') {
|
|
19
|
+
message = 'The code returned from the OAuth workflow was invalid.'
|
|
20
|
+
} else if (message == 'code_already_used') {
|
|
21
|
+
message = 'The code returned from the OAuth workflow has already been used.'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
SlackRubyBotServer.message(message || xhr.statusText || xhr.responseText || 'Unexpected Error');
|
|
27
|
+
|
|
28
|
+
} catch(err) {
|
|
29
|
+
SlackRubyBotServer.message(err.message);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
});
|
data/public/scripts/register.js
CHANGED
|
@@ -1,37 +1,7 @@
|
|
|
1
|
-
var SlackRubyBotServer = {};
|
|
2
|
-
|
|
3
1
|
$(document).ready(function() {
|
|
4
|
-
|
|
5
|
-
SlackRubyBotServer.message = function(text) {
|
|
6
|
-
$('#messages').fadeOut('slow', function() {
|
|
7
|
-
$('#messages').fadeIn('slow').html(text)
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
SlackRubyBotServer.error = function(xhr) {
|
|
12
|
-
try {
|
|
13
|
-
var message;
|
|
14
|
-
if (xhr.responseText) {
|
|
15
|
-
var rc = JSON.parse(xhr.responseText);
|
|
16
|
-
if (rc && rc.message) {
|
|
17
|
-
message = rc.message;
|
|
18
|
-
if (message == 'invalid_code') {
|
|
19
|
-
message = 'The code returned from the OAuth workflow was invalid.'
|
|
20
|
-
} else if (message == 'code_already_used') {
|
|
21
|
-
message = 'The code returned from the OAuth workflow has already been used.'
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
SlackRubyBotServer.message(message || xhr.statusText || xhr.responseText || 'Unexpected Error');
|
|
27
|
-
|
|
28
|
-
} catch(err) {
|
|
29
|
-
SlackRubyBotServer.message(err.message);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
2
|
// Slack OAuth
|
|
34
3
|
var code = $.url('?code')
|
|
4
|
+
var state = $.url('?state')
|
|
35
5
|
if (code) {
|
|
36
6
|
SlackRubyBotServer.message('Working, please wait ...');
|
|
37
7
|
$('#register').hide();
|
|
@@ -39,7 +9,8 @@ $(document).ready(function() {
|
|
|
39
9
|
type: "POST",
|
|
40
10
|
url: "/api/teams",
|
|
41
11
|
data: {
|
|
42
|
-
code: code
|
|
12
|
+
code: code,
|
|
13
|
+
state: state
|
|
43
14
|
},
|
|
44
15
|
success: function(data) {
|
|
45
16
|
SlackRubyBotServer.message('Team successfully registered!<br><br>DM <b>@bot</b> or create a <b>#channel</b> and invite <b>@bot</b> to it.');
|
|
@@ -4,8 +4,15 @@ Bundler.require :default
|
|
|
4
4
|
|
|
5
5
|
require_relative 'commands'
|
|
6
6
|
require 'yaml'
|
|
7
|
+
require 'erb'
|
|
7
8
|
|
|
8
|
-
ActiveRecord::Base.establish_connection(
|
|
9
|
+
ActiveRecord::Base.establish_connection(
|
|
10
|
+
YAML.safe_load(
|
|
11
|
+
ERB.new(
|
|
12
|
+
File.read('config/postgresql.yml')
|
|
13
|
+
).result, [], [], true
|
|
14
|
+
)[ENV['RACK_ENV']]
|
|
15
|
+
)
|
|
9
16
|
|
|
10
17
|
NewRelic::Agent.manual_start
|
|
11
18
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#
|
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
12
12
|
|
|
13
|
-
ActiveRecord::Schema.define(version:
|
|
13
|
+
ActiveRecord::Schema.define(version: 20_190_323_181_453) do
|
|
14
14
|
# These are extensions that must be enabled in order to support this database
|
|
15
15
|
enable_extension 'plpgsql'
|
|
16
16
|
|
|
@@ -20,7 +20,10 @@ ActiveRecord::Schema.define(version: 20_170_307_164_946) do
|
|
|
20
20
|
t.boolean 'active', default: true
|
|
21
21
|
t.string 'domain'
|
|
22
22
|
t.string 'token'
|
|
23
|
-
t.datetime 'created_at',
|
|
24
|
-
t.datetime 'updated_at',
|
|
23
|
+
t.datetime 'created_at', null: false
|
|
24
|
+
t.datetime 'updated_at', null: false
|
|
25
|
+
t.string 'bot_user_id'
|
|
26
|
+
t.string 'activated_user_id'
|
|
27
|
+
t.string 'activated_user_access_token'
|
|
25
28
|
end
|
|
26
29
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
lib = File.expand_path('lib', __dir__)
|
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
-
|
|
3
|
+
require_relative 'lib/slack-ruby-bot-server/version'
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = 'slack-ruby-bot-server'
|
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
|
|
15
15
|
spec.require_paths = ['lib']
|
|
16
16
|
|
|
17
|
-
spec.add_dependency 'async-websocket'
|
|
17
|
+
spec.add_dependency 'async-websocket', '~> 0.8.0'
|
|
18
18
|
spec.add_dependency 'foreman'
|
|
19
19
|
spec.add_dependency 'grape'
|
|
20
20
|
spec.add_dependency 'grape-roar', '>= 0.4.0'
|
|
@@ -24,5 +24,4 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.add_dependency 'rack-rewrite'
|
|
25
25
|
spec.add_dependency 'rack-server-pages'
|
|
26
26
|
spec.add_dependency 'slack-ruby-bot', '>= 0.12.0'
|
|
27
|
-
spec.add_dependency 'unicorn'
|
|
28
27
|
end
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: slack-ruby-bot-server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.12.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Doubrovkine
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-06-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: async-websocket
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 0.8.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 0.8.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: foreman
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -150,20 +150,6 @@ dependencies:
|
|
|
150
150
|
- - ">="
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
152
|
version: 0.12.0
|
|
153
|
-
- !ruby/object:Gem::Dependency
|
|
154
|
-
name: unicorn
|
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
|
156
|
-
requirements:
|
|
157
|
-
- - ">="
|
|
158
|
-
- !ruby/object:Gem::Version
|
|
159
|
-
version: '0'
|
|
160
|
-
type: :runtime
|
|
161
|
-
prerelease: false
|
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
-
requirements:
|
|
164
|
-
- - ">="
|
|
165
|
-
- !ruby/object:Gem::Version
|
|
166
|
-
version: '0'
|
|
167
153
|
description:
|
|
168
154
|
email:
|
|
169
155
|
- dblock@dblock.org
|
|
@@ -187,8 +173,7 @@ files:
|
|
|
187
173
|
- RELEASING.md
|
|
188
174
|
- Rakefile
|
|
189
175
|
- UPGRADING.md
|
|
190
|
-
- app.
|
|
191
|
-
- images/new.png
|
|
176
|
+
- images/create-app.png
|
|
192
177
|
- images/slackbotserver.gif
|
|
193
178
|
- images/slackbutton.gif
|
|
194
179
|
- lib/slack-ruby-bot-server.rb
|
|
@@ -221,7 +206,6 @@ files:
|
|
|
221
206
|
- lib/slack-ruby-bot-server/ext/slack-ruby-bot.rb
|
|
222
207
|
- lib/slack-ruby-bot-server/ext/slack-ruby-bot/client.rb
|
|
223
208
|
- lib/slack-ruby-bot-server/info.rb
|
|
224
|
-
- lib/slack-ruby-bot-server/models.rb
|
|
225
209
|
- lib/slack-ruby-bot-server/models/team/activerecord.rb
|
|
226
210
|
- lib/slack-ruby-bot-server/models/team/methods.rb
|
|
227
211
|
- lib/slack-ruby-bot-server/models/team/mongoid.rb
|
|
@@ -235,6 +219,7 @@ files:
|
|
|
235
219
|
- public/index.html.erb
|
|
236
220
|
- public/robots.txt
|
|
237
221
|
- public/scripts/jquery-1.7.1.min.js
|
|
222
|
+
- public/scripts/messages.js
|
|
238
223
|
- public/scripts/register.js
|
|
239
224
|
- public/scripts/stats.js
|
|
240
225
|
- public/scripts/url.min.js
|
|
@@ -252,6 +237,7 @@ files:
|
|
|
252
237
|
- sample_apps/sample_app_activerecord/config/newrelic.yml
|
|
253
238
|
- sample_apps/sample_app_activerecord/config/postgresql.yml
|
|
254
239
|
- sample_apps/sample_app_activerecord/db/migrate/20170307164946_create_teams_table.rb
|
|
240
|
+
- sample_apps/sample_app_activerecord/db/migrate/20190323181453_add_activated_fields.rb
|
|
255
241
|
- sample_apps/sample_app_activerecord/db/schema.rb
|
|
256
242
|
- sample_apps/sample_app_activerecord/spec/api/root_spec.rb
|
|
257
243
|
- sample_apps/sample_app_activerecord/spec/commands/help_spec.rb
|
|
@@ -293,8 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
293
279
|
- !ruby/object:Gem::Version
|
|
294
280
|
version: '0'
|
|
295
281
|
requirements: []
|
|
296
|
-
|
|
297
|
-
rubygems_version: 2.7.6
|
|
282
|
+
rubygems_version: 3.1.3
|
|
298
283
|
signing_key:
|
|
299
284
|
specification_version: 4
|
|
300
285
|
summary: A Grape API serving a Slack bot to multiple teams.
|
data/app.json
DELETED
data/images/new.png
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require 'slack-ruby-bot-server/models/team'
|