slack-ruby-bot-server 0.10.0 → 0.12.2

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.rubocop.yml +1 -1
  4. data/.rubocop_todo.yml +44 -7
  5. data/.travis.yml +7 -5
  6. data/CHANGELOG.md +48 -20
  7. data/Dangerfile +1 -0
  8. data/Gemfile +3 -2
  9. data/LICENSE +1 -1
  10. data/README.md +129 -18
  11. data/UPGRADING.md +14 -0
  12. data/images/create-app.png +0 -0
  13. data/lib/slack-ruby-bot-server.rb +9 -11
  14. data/lib/slack-ruby-bot-server/api.rb +4 -4
  15. data/lib/slack-ruby-bot-server/api/endpoints.rb +3 -3
  16. data/lib/slack-ruby-bot-server/api/endpoints/teams_endpoint.rb +1 -0
  17. data/lib/slack-ruby-bot-server/api/helpers.rb +4 -4
  18. data/lib/slack-ruby-bot-server/api/helpers/cursor_helpers.rb +2 -0
  19. data/lib/slack-ruby-bot-server/api/helpers/sort_helpers.rb +1 -0
  20. data/lib/slack-ruby-bot-server/api/middleware.rb +1 -5
  21. data/lib/slack-ruby-bot-server/api/presenters.rb +5 -5
  22. data/lib/slack-ruby-bot-server/api/presenters/status_presenter.rb +1 -0
  23. data/lib/slack-ruby-bot-server/app.rb +0 -27
  24. data/lib/slack-ruby-bot-server/config.rb +8 -0
  25. data/lib/slack-ruby-bot-server/config/database_adapters/activerecord.rb +2 -2
  26. data/lib/slack-ruby-bot-server/config/database_adapters/mongoid.rb +4 -2
  27. data/lib/slack-ruby-bot-server/ext/activerecord/slack-ruby-bot/commands/base.rb +1 -1
  28. data/lib/slack-ruby-bot-server/ext/mongoid/slack-ruby-bot/commands/base.rb +2 -2
  29. data/lib/slack-ruby-bot-server/models/team/activerecord.rb +8 -5
  30. data/lib/slack-ruby-bot-server/models/team/methods.rb +0 -13
  31. data/lib/slack-ruby-bot-server/models/team/mongoid.rb +8 -4
  32. data/lib/slack-ruby-bot-server/server.rb +1 -0
  33. data/lib/slack-ruby-bot-server/service.rb +45 -3
  34. data/lib/slack-ruby-bot-server/version.rb +1 -1
  35. data/public/index.html.erb +1 -0
  36. data/public/scripts/messages.js +33 -0
  37. data/public/scripts/register.js +0 -31
  38. data/sample_apps/sample_app_activerecord/Gemfile +1 -0
  39. data/sample_apps/sample_app_activerecord/README.md +1 -0
  40. data/sample_apps/sample_app_activerecord/commands/help.rb +1 -1
  41. data/sample_apps/sample_app_activerecord/config.ru +8 -1
  42. data/sample_apps/sample_app_activerecord/config/postgresql.yml +1 -1
  43. data/sample_apps/sample_app_activerecord/spec/commands/help_spec.rb +1 -1
  44. data/sample_apps/sample_app_mongoid/Gemfile +1 -0
  45. data/sample_apps/sample_app_mongoid/commands/help.rb +1 -1
  46. data/sample_apps/sample_app_mongoid/spec/commands/help_spec.rb +1 -1
  47. data/slack-ruby-bot-server.gemspec +2 -3
  48. metadata +14 -28
  49. data/app.json +0 -9
  50. data/images/new.png +0 -0
@@ -1,35 +1,4 @@
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')
35
4
  var state = $.url('?state')
@@ -7,6 +7,7 @@ gem 'pg'
7
7
  gem 'rack-server-pages'
8
8
  gem 'rack-test'
9
9
  gem 'slack-ruby-bot-server', path: '../../'
10
+ gem 'unicorn'
10
11
 
11
12
  group :development, :test do
12
13
  gem 'standalone_migrations', '~> 5.2'
@@ -7,5 +7,6 @@ This is a sample slack-ruby-bot-server with ActiveRecord.
7
7
  ```
8
8
  bundle install
9
9
  rake db:create db:migrate
10
+ RAILS_ENV=test rake db:migrate
10
11
  rackup
11
12
  ```
@@ -13,7 +13,7 @@ whoami - print your username
13
13
  EOS
14
14
  def self.call(client, data, _match)
15
15
  client.say(channel: data.channel, text: [HELP, SlackRubyBotServer::INFO].join("\n"))
16
- client.say(channel: data.channel, gif: 'help')
16
+ client.say(channel: data.channel)
17
17
  logger.info "HELP: #{client.owner}, user=#{data.user}"
18
18
  end
19
19
  end
@@ -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(YAML.load_file('config/postgresql.yml')[ENV['RACK_ENV']])
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
 
@@ -14,4 +14,4 @@ test:
14
14
 
15
15
  production:
16
16
  <<: *default
17
- database: slack_ruby_bot_server_production
17
+ url: <%= ENV["DATABASE_URL"] %>
@@ -8,7 +8,7 @@ describe Help do
8
8
  let(:message_hook) { SlackRubyBot::Hooks::Message.new }
9
9
  it 'default' do
10
10
  expect(client).to receive(:say).with(channel: 'channel', text: [Help::HELP, SlackRubyBotServer::INFO].join("\n"))
11
- expect(client).to receive(:say).with(channel: 'channel', gif: 'help')
11
+ expect(client).to receive(:say).with(channel: 'channel')
12
12
  message_hook.call(client, Hashie::Mash.new(channel: 'channel', text: "#{SlackRubyBot.config.user} help"))
13
13
  end
14
14
  end
@@ -6,6 +6,7 @@ gem 'slack-ruby-bot-server', path: '../../'
6
6
 
7
7
  gem 'kaminari-mongoid'
8
8
  gem 'mongoid-scroll'
9
+ gem 'unicorn'
9
10
 
10
11
  group :test do
11
12
  gem 'database_cleaner'
@@ -13,7 +13,7 @@ whoami - print your username
13
13
  EOS
14
14
  def self.call(client, data, _match)
15
15
  client.say(channel: data.channel, text: [HELP, SlackRubyBotServer::INFO].join("\n"))
16
- client.say(channel: data.channel, gif: 'help')
16
+ client.say(channel: data.channel)
17
17
  logger.info "HELP: #{client.owner}, user=#{data.user}"
18
18
  end
19
19
  end
@@ -8,7 +8,7 @@ describe Help do
8
8
  let(:message_hook) { SlackRubyBot::Hooks::Message.new }
9
9
  it 'default' do
10
10
  expect(client).to receive(:say).with(channel: 'channel', text: [Help::HELP, SlackRubyBotServer::INFO].join("\n"))
11
- expect(client).to receive(:say).with(channel: 'channel', gif: 'help')
11
+ expect(client).to receive(:say).with(channel: 'channel')
12
12
  message_hook.call(client, Hashie::Mash.new(channel: 'channel', text: "#{SlackRubyBot.config.user} help"))
13
13
  end
14
14
  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
- require 'slack-ruby-bot-server/version'
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.10.0
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-24 00:00:00.000000000 Z
11
+ date: 2020-07-26 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: '0'
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: '0'
26
+ version: 0.8.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: foreman
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -150,27 +150,14 @@ 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
- description:
153
+ description:
168
154
  email:
169
155
  - dblock@dblock.org
170
156
  executables: []
171
157
  extensions: []
172
158
  extra_rdoc_files: []
173
159
  files:
160
+ - ".github/FUNDING.yml"
174
161
  - ".gitignore"
175
162
  - ".rspec"
176
163
  - ".rubocop.yml"
@@ -187,8 +174,7 @@ files:
187
174
  - RELEASING.md
188
175
  - Rakefile
189
176
  - UPGRADING.md
190
- - app.json
191
- - images/new.png
177
+ - images/create-app.png
192
178
  - images/slackbotserver.gif
193
179
  - images/slackbutton.gif
194
180
  - lib/slack-ruby-bot-server.rb
@@ -234,6 +220,7 @@ files:
234
220
  - public/index.html.erb
235
221
  - public/robots.txt
236
222
  - public/scripts/jquery-1.7.1.min.js
223
+ - public/scripts/messages.js
237
224
  - public/scripts/register.js
238
225
  - public/scripts/stats.js
239
226
  - public/scripts/url.min.js
@@ -278,7 +265,7 @@ files:
278
265
  homepage: https://github.com/slack-ruby/slack-ruby-bot-server
279
266
  licenses: []
280
267
  metadata: {}
281
- post_install_message:
268
+ post_install_message:
282
269
  rdoc_options: []
283
270
  require_paths:
284
271
  - lib
@@ -293,9 +280,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
293
280
  - !ruby/object:Gem::Version
294
281
  version: '0'
295
282
  requirements: []
296
- rubyforge_project:
297
- rubygems_version: 2.7.6
298
- signing_key:
283
+ rubygems_version: 3.1.2
284
+ signing_key:
299
285
  specification_version: 4
300
286
  summary: A Grape API serving a Slack bot to multiple teams.
301
287
  test_files: []
data/app.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "name": "Slack Bot Server",
3
- "description": "A Slack bot server.",
4
- "respository": "https://github.com/slack-ruby/slack-ruby-bot-server",
5
- "keywords": ["slack", "bots"],
6
- "addons": [
7
- "mongolab"
8
- ]
9
- }
Binary file