slack-ruby-bot-server-rtm 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5824cb54023d4ee24f318fe9b455cd4ccc3b450ecaec0ccc893223517e823d87
4
- data.tar.gz: aca8db91d16aeb611f25bb0784deab2072fbcb777c32b155c6fa8a9bdf8afb31
3
+ metadata.gz: '0994639f48c3a767e5fbc7fd32ad3562b10c441bd9501c281e2fb319ac9f6b1d'
4
+ data.tar.gz: c3a15360020d5c583c51d62638a1173242f90436688ce42449ed1c8252078999
5
5
  SHA512:
6
- metadata.gz: 9ab696238cbe2b831efc55fc705d3b4d2e06b5e4594fbd5a2694b1bfb4faf8a3415b7292ffdf3bd223ef880f465e7ad6d29137920d6190976a214ec727ea284c
7
- data.tar.gz: a84c2a77ee1007efeee7114145d539ba8183b43ca38b4650ca5c0a6f422826a973c4b75e47ecb47347e36b46bb014cf1fb4c70948ec6125b690145487db1cb28
6
+ metadata.gz: 6120ad611f46756377074d921b58c0d96e6d9d6e5939e6f53c01c09ed82803271d4cd9491a337f36130e7a59fbf130d64655b813724cde8151cf4597c99857b0
7
+ data.tar.gz: dab2bb5ef2aef7e94701667f169f4d8a185f6921ade0a5391e3e177f36cd4976d813558e07237dd911737d3e4aa2a9b681b33e2830ac0ff97836f8a91488d744
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2020-11-14 17:59:41 -0500 using RuboCop version 0.81.0.
3
+ # on 2020-11-27 15:32:33 -0500 using RuboCop version 0.81.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -1,5 +1,9 @@
1
1
  ### Changelog
2
2
 
3
+ #### 0.2.0 (2020/11/27)
4
+
5
+ * [#1](https://github.com/slack-ruby/slack-ruby-bot-server-rtm/pull/1): Only start OAuth v1 teams with a bot token - [@dblock](https://github.com/dblock).
6
+
3
7
  #### 0.1.1 (2020/11/15)
4
8
 
5
9
  * Fix: error `private method 'run_callbacks' called for #<SlackRubyBotServer::Service>` - [@dblock](https://github.com/dblock).
data/README.md CHANGED
@@ -2,9 +2,21 @@ Slack Ruby Bot Server RealTime (RTM) Extension
2
2
  ==============================================
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/slack-ruby-bot-server-rtm.svg)](https://badge.fury.io/rb/slack-ruby-bot-server-rtm)
5
- [![Build Status](https://travis-ci.org/slack-ruby/slack-ruby-bot-server-rtm.svg?branch=master)](https://travis-ci.org/slack-ruby/slack-ruby-bot-server-rtm)
5
+ [![Build Status](https://travis-ci.org/slack-ruby/slack-ruby-bot-server-rtm.svg?branch=main)](https://travis-ci.org/slack-ruby/slack-ruby-bot-server-rtm)
6
6
 
7
- An extension to [slack-ruby-bot-server](https://github.com/slack-ruby/slack-ruby-bot-server) that makes it easy to implement Slack RTM bots.
7
+ # Table of Contents
8
+
9
+ - [Introduction](#introduction)
10
+ - [Samples](#samples)
11
+ - [Usage](#usage)
12
+ - [Gemfile](#gemfile)
13
+ - [Configure](#configure)
14
+ - [Server Class](#server-class)
15
+ - [Copyright & License](#copyright--license)
16
+
17
+ ### Introduction
18
+
19
+ This library is an extension to [slack-ruby-bot-server](https://github.com/slack-ruby/slack-ruby-bot-server) that makes it easy to implement Slack RTM bots.
8
20
 
9
21
  ### Samples
10
22
 
@@ -5,6 +5,8 @@ SlackRubyBotServer.configure do |config|
5
5
  end
6
6
 
7
7
  SlackRubyBotServer::Config.service_class.instance.on :starting do |team, _error, options|
8
+ next if team.respond_to?(:oauth_version) && team.oauth_version != 'v1'
9
+
8
10
  SlackRubyBotServer::Config.service_class.instance.logger.info "Starting real-time team #{team}."
9
11
  options = { team: team }
10
12
  server = SlackRubyBotServer::RealTime::Config.server_class.new(options)
@@ -26,6 +28,6 @@ SlackRubyBotServer::Config.service_class.instance.on :stopped do |team, _error,
26
28
  end
27
29
 
28
30
  SlackRubyBotServer::Config.service_class.instance.on :deactivated do |team, _error, _options|
29
- SlackRubyBotServer::Config.service_class.instance.logger.info "De-activating real-time team #{team}."
31
+ SlackRubyBotServer::Config.service_class.instance.logger.info "De-activated real-time team #{team}."
30
32
  team.server = nil
31
33
  end
@@ -23,9 +23,13 @@ module SlackRubyBotServer
23
23
  rescue StandardError => e
24
24
  SlackRubyBotServer::Config.service_class.instance.send(:run_callbacks, :error, team, e)
25
25
  case e.message
26
- when 'account_inactive', 'invalid_auth' then
27
- SlackRubyBotServer::Config.service_class.instance.logger.error "#{team.name}: #{e.message}, team will be deactivated."
28
- SlackRubyBotServer::Config.service_class.instance.deactivate! team
26
+ when 'account_inactive', 'invalid_auth'
27
+ if team.respond_to?(:oauth_version) && team.oauth_version != 'v1'
28
+ SlackRubyBotServer::Config.service_class.instance.logger.info "#{team.name}: #{e.message}, team OAuth scope has been upgraded."
29
+ else
30
+ SlackRubyBotServer::Config.service_class.instance.logger.error "#{team.name}: #{e.message}, team will be deactivated."
31
+ SlackRubyBotServer::Config.service_class.instance.deactivate! team
32
+ end
29
33
  else
30
34
  wait = e.retry_after if e.is_a?(Slack::Web::Api::Errors::TooManyRequestsError)
31
35
  SlackRubyBotServer::Config.service_class.instance.logger.error "#{team.name}: #{e.message}, restarting in #{wait} second(s)."
@@ -2,6 +2,6 @@
2
2
 
3
3
  module SlackRubyBotServer
4
4
  module RealTime
5
- VERSION = '0.1.1'
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddOauthFields < ActiveRecord::Migration[5.0]
4
+ def change
5
+ add_column :teams, :oauth_scope, :string
6
+ add_column :teams, :oauth_version, :string, default: 'v1', null: false
7
+ end
8
+ end
@@ -12,7 +12,7 @@
12
12
  #
13
13
  # It's strongly recommended that you check this file into your version control system.
14
14
 
15
- ActiveRecord::Schema.define(version: 20_190_323_181_453) do
15
+ ActiveRecord::Schema.define(version: 20_201_125_164_500) do
16
16
  # These are extensions that must be enabled in order to support this database
17
17
  enable_extension 'plpgsql'
18
18
 
@@ -22,10 +22,12 @@ ActiveRecord::Schema.define(version: 20_190_323_181_453) do
22
22
  t.boolean 'active', default: true
23
23
  t.string 'domain'
24
24
  t.string 'token'
25
- t.datetime 'created_at', null: false
26
- t.datetime 'updated_at', null: false
25
+ t.datetime 'created_at', null: false
26
+ t.datetime 'updated_at', null: false
27
27
  t.string 'bot_user_id'
28
28
  t.string 'activated_user_id'
29
29
  t.string 'activated_user_access_token'
30
+ t.string 'oauth_scope'
31
+ t.string 'oauth_version', default: 'v1', null: false
30
32
  end
31
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-ruby-bot-server-rtm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-15 00:00:00.000000000 Z
11
+ date: 2020-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-websocket
@@ -96,6 +96,7 @@ files:
96
96
  - sample_apps/sample_app_activerecord/config/postgresql.yml
97
97
  - sample_apps/sample_app_activerecord/db/migrate/20170307164946_create_teams_table.rb
98
98
  - sample_apps/sample_app_activerecord/db/migrate/20190323181453_add_activated_fields.rb
99
+ - sample_apps/sample_app_activerecord/db/migrate/20201125164500_add_oauth_fields.rb
99
100
  - sample_apps/sample_app_activerecord/db/schema.rb
100
101
  - sample_apps/sample_app_activerecord/spec/api/root_spec.rb
101
102
  - sample_apps/sample_app_activerecord/spec/commands/help_spec.rb