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

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