salesforce_streamer 2.1.0 → 2.4.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: b7aa51a1aab875d18d027a1686a598d795d30126cea6fc81f08e705911bdc92c
4
- data.tar.gz: ce9f47fdc1f3c277347c684fc533e92e56e93779c3115a0894f8834c1196b795
3
+ metadata.gz: 44577fdf473e9b6522ab3020453442e6e0ff9fe9a260405b711f6bc76cabb7db
4
+ data.tar.gz: 8c2ec55c1e067ba5ea86837c1c778a33e5d90003713cc3758977f5de679f126a
5
5
  SHA512:
6
- metadata.gz: 6d7183472e280c49188c8f0a386ddf24e47ee99cd827b0e1b9bb3c22184136ef81694364020a4c6676f728317af530e5959908fe79d871ba065d43f29b0c5f97
7
- data.tar.gz: 329f63f5ced7e03256761765e70a3d13107779fa895e249e69e07e98d148ed1142b0f23c9e8cc86d38faae92087af59080524cef60a70ba51619ab4ec9cdd36b
6
+ metadata.gz: d6a0b79d9a2a14e8c666462385e794781037865bae627d1f7bbd018381ed1f3900eb7c726451eb62ca02782b42bee8fdb9c1e3dce9a53c35e7ab724b2607a7f6
7
+ data.tar.gz: 891d7f0bafc8ca5490e109afd96408239afeee13c3d8e4cbcde571d9799edf61973981c6c63bc954e32c9fec45bdbd4b22659c9cd3b6070362357ccf58bf399c
data/.bundler-version ADDED
@@ -0,0 +1 @@
1
+ 2.2.16
@@ -3,9 +3,14 @@ version: 1
3
3
  update_configs:
4
4
  - package_manager: "ruby:bundler"
5
5
  directory: "/"
6
- update_schedule: "monthly"
6
+ update_schedule: "daily"
7
7
  commit_message:
8
8
  prefix: "[dependabot]"
9
9
  allowed_updates:
10
10
  - match:
11
- update_type: "all"
11
+ dependency_type: "all"
12
+ update_type: "security"
13
+ automerged_updates:
14
+ - match:
15
+ dependency_type: "all"
16
+ update_type: "security:patch"
@@ -1,7 +1,7 @@
1
- # automatically approve PRs submitted by Dependabot
1
+ # automatically approve PRs submitted by Dependabot or Renofidev
2
2
  # this will allow Dependabot to automatically merge dependency update PRs where CI passes
3
3
  # from: https://github.com/hmarr/auto-approve-action
4
- name: Auto approve Dependabot PRs
4
+ name: Auto approve dependency upgrades PRs
5
5
 
6
6
  on:
7
7
  pull_request
@@ -11,6 +11,6 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: hmarr/auto-approve-action@v2.0.0
14
- if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
14
+ if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]' || github.actor == 'renofidev'
15
15
  with:
16
16
  github-token: "${{ secrets.GITHUB_TOKEN }}"
@@ -0,0 +1,19 @@
1
+ name: automerge
2
+ on:
3
+ pull_request_review:
4
+ types:
5
+ - submitted
6
+ check_suite:
7
+ types:
8
+ - completed
9
+ status: {}
10
+ jobs:
11
+ automerge:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: automerge
15
+ uses: "pascalgn/automerge-action@v0.12.0"
16
+ env:
17
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18
+ MERGE_METHOD: squash
19
+ MERGE_DELETE_BRANCH: true
data/Gemfile.lock CHANGED
@@ -1,28 +1,26 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- salesforce_streamer (2.1.0)
4
+ salesforce_streamer (2.4.0)
5
+ cookiejar (~> 0.3.0)
5
6
  dry-initializer (~> 3.0)
6
7
  faye (~> 1.4)
7
- restforce (>= 4.2, < 6.0)
8
+ restforce (~> 5.0)
8
9
 
9
10
  GEM
10
11
  remote: https://rubygems.org/
11
12
  specs:
12
13
  addressable (2.7.0)
13
14
  public_suffix (>= 2.0.2, < 5.0)
14
- ast (2.4.1)
15
+ ast (2.4.2)
15
16
  byebug (11.1.3)
16
- codecov (0.2.3)
17
- colorize
18
- json
19
- simplecov
20
- colorize (0.8.1)
17
+ codecov (0.5.2)
18
+ simplecov (>= 0.15, < 0.22)
21
19
  cookiejar (0.3.3)
22
20
  diff-lcs (1.4.4)
23
- docile (1.3.2)
24
- dry-initializer (3.0.3)
25
- em-http-request (1.1.6)
21
+ docile (1.3.5)
22
+ dry-initializer (3.0.4)
23
+ em-http-request (1.1.7)
26
24
  addressable (>= 2.3.4)
27
25
  cookiejar (!= 0.3.1)
28
26
  em-socksify (>= 0.3)
@@ -31,8 +29,15 @@ GEM
31
29
  em-socksify (0.3.2)
32
30
  eventmachine (>= 1.0.0.beta.4)
33
31
  eventmachine (1.2.7)
34
- faraday (1.0.1)
32
+ faraday (1.4.1)
33
+ faraday-excon (~> 1.1)
34
+ faraday-net_http (~> 1.0)
35
+ faraday-net_http_persistent (~> 1.1)
35
36
  multipart-post (>= 1.2, < 3)
37
+ ruby2_keywords (>= 0.0.4)
38
+ faraday-excon (1.1.0)
39
+ faraday-net_http (1.0.1)
40
+ faraday-net_http_persistent (1.1.0)
36
41
  faraday_middleware (1.0.0)
37
42
  faraday (~> 1.0)
38
43
  faye (1.4.0)
@@ -48,64 +53,69 @@ GEM
48
53
  websocket-driver (>= 0.5.1)
49
54
  hashie (4.1.0)
50
55
  http_parser.rb (0.6.0)
51
- json (2.3.1)
52
- jwt (2.2.1)
56
+ jwt (2.2.3)
53
57
  multi_json (1.15.0)
54
58
  multipart-post (2.1.1)
55
- parallel (1.19.2)
56
- parser (2.7.1.4)
59
+ parallel (1.20.1)
60
+ parser (3.0.1.1)
57
61
  ast (~> 2.4.1)
58
- public_suffix (4.0.5)
62
+ public_suffix (4.0.6)
59
63
  rack (2.2.3)
60
64
  rainbow (3.0.0)
61
- rake (13.0.1)
62
- regexp_parser (1.7.1)
63
- restforce (5.0.1)
65
+ rake (13.0.3)
66
+ regexp_parser (2.1.1)
67
+ restforce (5.0.5)
64
68
  faraday (>= 0.9.0, <= 2.0)
65
69
  faraday_middleware (>= 0.8.8, <= 2.0)
66
70
  hashie (>= 1.2.0, < 5.0)
67
71
  jwt (>= 1.5.6)
68
- rexml (3.2.4)
69
- rspec (3.9.0)
70
- rspec-core (~> 3.9.0)
71
- rspec-expectations (~> 3.9.0)
72
- rspec-mocks (~> 3.9.0)
73
- rspec-core (3.9.2)
74
- rspec-support (~> 3.9.3)
75
- rspec-expectations (3.9.2)
72
+ rexml (3.2.5)
73
+ rspec (3.10.0)
74
+ rspec-core (~> 3.10.0)
75
+ rspec-expectations (~> 3.10.0)
76
+ rspec-mocks (~> 3.10.0)
77
+ rspec-core (3.10.1)
78
+ rspec-support (~> 3.10.0)
79
+ rspec-expectations (3.10.1)
76
80
  diff-lcs (>= 1.2.0, < 2.0)
77
- rspec-support (~> 3.9.0)
78
- rspec-mocks (3.9.1)
81
+ rspec-support (~> 3.10.0)
82
+ rspec-mocks (3.10.2)
79
83
  diff-lcs (>= 1.2.0, < 2.0)
80
- rspec-support (~> 3.9.0)
81
- rspec-support (3.9.3)
82
- rubocop (0.88.0)
84
+ rspec-support (~> 3.10.0)
85
+ rspec-support (3.10.2)
86
+ rubocop (1.14.0)
83
87
  parallel (~> 1.10)
84
- parser (>= 2.7.1.1)
88
+ parser (>= 3.0.0.0)
85
89
  rainbow (>= 2.2.2, < 4.0)
86
- regexp_parser (>= 1.7)
90
+ regexp_parser (>= 1.8, < 3.0)
87
91
  rexml
88
- rubocop-ast (>= 0.1.0, < 1.0)
92
+ rubocop-ast (>= 1.5.0, < 2.0)
89
93
  ruby-progressbar (~> 1.7)
90
- unicode-display_width (>= 1.4.0, < 2.0)
91
- rubocop-ast (0.3.0)
92
- parser (>= 2.7.1.4)
93
- rubocop-performance (1.7.1)
94
- rubocop (>= 0.82.0)
95
- rubocop-rspec (1.42.0)
96
- rubocop (>= 0.87.0)
97
- ruby-progressbar (1.10.1)
98
- simplecov (0.18.5)
94
+ unicode-display_width (>= 1.4.0, < 3.0)
95
+ rubocop-ast (1.5.0)
96
+ parser (>= 3.0.1.1)
97
+ rubocop-rake (0.5.1)
98
+ rubocop
99
+ rubocop-rspec (2.3.0)
100
+ rubocop (~> 1.0)
101
+ rubocop-ast (>= 1.1.0)
102
+ ruby-progressbar (1.11.0)
103
+ ruby2_keywords (0.0.4)
104
+ simplecov (0.21.2)
99
105
  docile (~> 1.1)
100
106
  simplecov-html (~> 0.11)
101
- simplecov-html (0.12.2)
102
- unicode-display_width (1.7.0)
107
+ simplecov_json_formatter (~> 0.1)
108
+ simplecov-html (0.12.3)
109
+ simplecov_json_formatter (0.1.3)
110
+ unicode-display_width (2.0.0)
103
111
  websocket-driver (0.7.3)
104
112
  websocket-extensions (>= 0.1.0)
105
113
  websocket-extensions (0.1.5)
106
114
 
107
115
  PLATFORMS
108
- ruby
116
+ x86_64-darwin-19
117
+ x86_64-darwin-20
118
+ x86_64-linux
109
119
 
110
120
  DEPENDENCIES
111
121
  byebug
@@ -113,9 +123,9 @@ DEPENDENCIES
113
123
  rake
114
124
  rspec
115
125
  rubocop
116
- rubocop-performance
126
+ rubocop-rake
117
127
  rubocop-rspec
118
128
  salesforce_streamer!
119
129
 
120
130
  BUNDLED WITH
121
- 2.1.4
131
+ 2.2.16
data/README.md CHANGED
@@ -91,6 +91,7 @@ SalesforceStreamer.configure do |config|
91
91
  config.exception_adapter = proc { |e| puts e }
92
92
  config.replay_adapter = MyReplayAdapter
93
93
  config.use_middleware AfterMessageReceived
94
+ config.use_faye_extension ErrorLoggingExtension.new
94
95
  config.manage_topics = true
95
96
  end
96
97
  ```
@@ -173,6 +174,32 @@ end
173
174
 
174
175
  This adapter will be used directly by `Restforce::ReplayExtension`.
175
176
 
177
+ ### Use Faye Extension
178
+
179
+ The `config.use_faye_extension` should be given an object that responds to
180
+ `.incoming(message, callback)` or `.outgoing(message, callback)` or both. Find
181
+ out more about extensions from
182
+ [Faye](https://github.com/faye/faye/blob/master/spec/ruby/server/extensions_spec.rb)
183
+ specs.
184
+
185
+ Any configured extensions are added to the Faye client used by the Restforce
186
+ client when starting up the server. If the extension responds to `.server=` then
187
+ the instance of `SalesforceStreamer::Server` is assigned. This may be convenient
188
+ to restart the server subscriptions if an error requires a reset.
189
+
190
+ ```ruby
191
+ class MyRestartFayeExtension
192
+ attr_accessor :server
193
+
194
+ def incoming(message, callback)
195
+ callback.call(message).tap |message|
196
+ server.restart if message['error'] == 'tragic'
197
+ end
198
+ end
199
+ end
200
+
201
+ SalesforceStreamer.config.use_faye_extension MyRestartFayeExtension.new
202
+ ```
176
203
  ## Development
177
204
 
178
205
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -1,27 +1,69 @@
1
+ require 'cookiejar/cookie_validation'
2
+
1
3
  # Original source code at
2
4
  # https://github.com/dwaite/cookiejar/blob/master/lib/cookiejar/cookie_validation.rb
3
- # Re-opening the CookieValidation module to rewrite the domains_match method to
4
- # skip the validation of domains. Open issue at
5
- # https://github.com/restforce/restforce/issues/120
6
- module CoreExtensions
7
- module CookieJar
8
- module CookieValidation
9
- def self.extended(base)
10
- base.class_eval do
11
- def self.domains_match(tested_domain, base_domain)
12
- return true if tested_domain[-15..].eql?('.salesforce.com')
5
+ module CookieJar
6
+ module CookieValidation
7
+ # Re-opening the CookieValidation module to rewrite the domains_match method to
8
+ # skip the validation of domains. Open issue at
9
+ # https://github.com/restforce/restforce/issues/120
10
+ def self.domains_match(tested_domain, base_domain)
11
+ return true if tested_domain[-15..].eql?('.salesforce.com')
12
+
13
+ # original implementation
14
+ base = effective_host base_domain
15
+ search_domains = compute_search_domains_for_host base
16
+ search_domains.find do |domain|
17
+ domain == tested_domain
18
+ end
19
+ end
13
20
 
14
- # original implementation
15
- base = effective_host base_domain
16
- search_domains = compute_search_domains_for_host base
17
- search_domains.find do |domain|
18
- domain == tested_domain
21
+ # Implements https://github.com/dwaite/cookiejar/commit/adb79c0a14c2b347c5289e79379a1acfe34bf388
22
+ # which is not part of the cookiejar gem yet and is required to prevent
23
+ # Unknown cookie parameter 'samesite' (CookieJar::InvalidCookieError)
24
+ def self.parse_set_cookie(set_cookie_value)
25
+ args = {}
26
+ params = set_cookie_value.split(/;\s*/)
27
+
28
+ first = true
29
+ params.each do |param|
30
+ result = PARAM1.match param
31
+ unless result
32
+ fail InvalidCookieError,
33
+ "Invalid cookie parameter in cookie '#{set_cookie_value}'"
34
+ end
35
+ key = result[1].downcase.to_sym
36
+ keyvalue = result[2]
37
+ if first
38
+ args[:name] = result[1]
39
+ args[:value] = keyvalue
40
+ first = false
41
+ else
42
+ case key
43
+ when :expires
44
+ begin
45
+ args[:expires_at] = Time.parse keyvalue
46
+ rescue ArgumentError
47
+ raise unless $ERROR_INFO.message == 'time out of range'
48
+ args[:expires_at] = Time.at(0x7FFFFFFF)
19
49
  end
50
+ when :"max-age"
51
+ args[:max_age] = keyvalue.to_i
52
+ when :domain, :path
53
+ args[key] = keyvalue
54
+ when :secure
55
+ args[:secure] = true
56
+ when :httponly
57
+ args[:http_only] = true
58
+ when :samesite
59
+ args[:samesite] = keyvalue.downcase
60
+ else
61
+ fail InvalidCookieError, "Unknown cookie parameter '#{key}'"
20
62
  end
21
63
  end
22
64
  end
65
+ args[:version] = 0
66
+ args
23
67
  end
24
68
  end
25
69
  end
26
-
27
- CookieJar::CookieValidation.extend(CoreExtensions::CookieJar::CookieValidation)
@@ -3,7 +3,7 @@ module SalesforceStreamer
3
3
  class Configuration
4
4
  attr_accessor :environment, :logger, :require_path, :config_file,
5
5
  :manage_topics, :exception_adapter, :replay_adapter
6
- attr_reader :middleware
6
+ attr_reader :middleware, :faye_extensions
7
7
 
8
8
  class << self
9
9
  attr_writer :instance
@@ -26,6 +26,7 @@ module SalesforceStreamer
26
26
  @config_file = './config/streamer.yml'
27
27
  @require_path = './config/environment'
28
28
  @middleware = []
29
+ @faye_extensions = [ReplayIdErrorExtension.new]
29
30
  end
30
31
 
31
32
  def manage_topics?
@@ -37,6 +38,11 @@ module SalesforceStreamer
37
38
  @middleware << [klass, args, block]
38
39
  end
39
40
 
41
+ # adds a Faye extension
42
+ def use_faye_extension(extension)
43
+ @faye_extensions << extension
44
+ end
45
+
40
46
  # returns a ready to use chain of middleware
41
47
  def middleware_runner(last_handler)
42
48
  @middleware.reduce(last_handler) do |next_handler, current_handler|
@@ -4,11 +4,11 @@ module SalesforceStreamer
4
4
  extend Dry::Initializer
5
5
 
6
6
  option :name
7
- option :query, proc { |str| str.gsub(/\s+/, ' ') }
8
- option :handler, proc { |str| prepare_handler_proc Object.const_get(str) }
9
- option :replay, proc(&:to_i), default: proc { -1 }
10
- option :api_version, proc(&:to_s), default: proc { '49.0' }
11
- option :notify_for_fields, default: proc { 'Referenced' }
7
+ option :query, ->(v) { v.gsub(/\s+/, ' ') }
8
+ option :handler, ->(v) { prepare_handler_proc(Object.const_get(v)) }
9
+ option :replay, ->(v) { v.to_i }, default: -> { -1 }
10
+ option :api_version, proc(&:to_s), default: -> { '49.0' }
11
+ option :notify_for_fields, default: -> { 'Referenced' }
12
12
  option :id, optional: true
13
13
  option :description, optional: true
14
14
 
@@ -1,15 +1,23 @@
1
1
  module SalesforceStreamer
2
2
  class Server
3
3
  attr_writer :push_topics
4
+ attr_reader :client
4
5
 
5
6
  def initialize(push_topics: [])
6
7
  @push_topics = push_topics
7
8
  end
8
9
 
9
10
  def run
10
- Log.info 'Starting Server'
11
+ Log.info 'Starting server'
11
12
  catch_signals
12
- start_em
13
+ reset_client
14
+ EM.run { subscribe }
15
+ end
16
+
17
+ def restart
18
+ Log.info 'Restarting server'
19
+ reset_client
20
+ EM.next_tick { subscribe }
13
21
  end
14
22
 
15
23
  private
@@ -23,21 +31,21 @@ module SalesforceStreamer
23
31
  end
24
32
  end
25
33
 
26
- def client
27
- return @client if @client
34
+ def reset_client
28
35
  @client = Restforce.new
29
- @client.authenticate!
30
- @client.faye.add_extension ReplayIdErrorExtension.new
31
- @client
36
+ client.authenticate!
37
+ Configuration.instance.faye_extensions.each do |extension|
38
+ Log.debug %(adding Faye extension #{extension})
39
+ extension.server = self if extension.respond_to?(:server=)
40
+ client.faye.add_extension extension
41
+ end
32
42
  end
33
43
 
34
- def start_em
35
- EM.run do
36
- @push_topics.map do |topic|
37
- client.subscribe topic.name, replay: Configuration.instance.replay_adapter do |message|
38
- Log.info "Message #{message.dig('event', 'replayId')} received from topic #{topic.name}"
39
- topic.handle message
40
- end
44
+ def subscribe
45
+ @push_topics.each do |topic|
46
+ client.subscribe topic.name, replay: Configuration.instance.replay_adapter do |message|
47
+ Log.info "Message #{message.dig('event', 'replayId')} received from topic #{topic.name}"
48
+ topic.handle message
41
49
  end
42
50
  end
43
51
  end
@@ -1,3 +1,3 @@
1
1
  module SalesforceStreamer
2
- VERSION = '2.1.0'.freeze
2
+ VERSION = '2.4.0'.freeze
3
3
  end
@@ -25,15 +25,16 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.required_ruby_version = '>= 2.6'
27
27
 
28
+ spec.add_dependency 'cookiejar', '~> 0.3.0'
28
29
  spec.add_dependency 'dry-initializer', '~> 3.0'
29
30
  spec.add_dependency 'faye', '~> 1.4'
30
- spec.add_dependency 'restforce', '>= 4.2', '< 6.0'
31
+ spec.add_dependency 'restforce', '~> 5.0'
31
32
 
32
33
  spec.add_development_dependency 'byebug'
33
34
  spec.add_development_dependency 'codecov'
34
35
  spec.add_development_dependency 'rake'
35
36
  spec.add_development_dependency 'rspec'
36
37
  spec.add_development_dependency 'rubocop'
37
- spec.add_development_dependency 'rubocop-performance'
38
+ spec.add_development_dependency 'rubocop-rake'
38
39
  spec.add_development_dependency 'rubocop-rspec'
39
40
  end
metadata CHANGED
@@ -1,16 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salesforce_streamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Serok
8
8
  - RenoFi Engineering Team
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-08-18 00:00:00.000000000 Z
12
+ date: 2021-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: cookiejar
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 0.3.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 0.3.0
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: dry-initializer
16
30
  requirement: !ruby/object:Gem::Requirement
@@ -43,22 +57,16 @@ dependencies:
43
57
  name: restforce
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: '4.2'
49
- - - "<"
60
+ - - "~>"
50
61
  - !ruby/object:Gem::Version
51
- version: '6.0'
62
+ version: '5.0'
52
63
  type: :runtime
53
64
  prerelease: false
54
65
  version_requirements: !ruby/object:Gem::Requirement
55
66
  requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- version: '4.2'
59
- - - "<"
67
+ - - "~>"
60
68
  - !ruby/object:Gem::Version
61
- version: '6.0'
69
+ version: '5.0'
62
70
  - !ruby/object:Gem::Dependency
63
71
  name: byebug
64
72
  requirement: !ruby/object:Gem::Requirement
@@ -130,7 +138,7 @@ dependencies:
130
138
  - !ruby/object:Gem::Version
131
139
  version: '0'
132
140
  - !ruby/object:Gem::Dependency
133
- name: rubocop-performance
141
+ name: rubocop-rake
134
142
  requirement: !ruby/object:Gem::Requirement
135
143
  requirements:
136
144
  - - ">="
@@ -157,7 +165,7 @@ dependencies:
157
165
  - - ">="
158
166
  - !ruby/object:Gem::Version
159
167
  version: '0'
160
- description:
168
+ description:
161
169
  email:
162
170
  - scott@renofi.com
163
171
  - engineering@renofi.com
@@ -166,12 +174,14 @@ executables:
166
174
  extensions: []
167
175
  extra_rdoc_files: []
168
176
  files:
177
+ - ".bundler-version"
169
178
  - ".dependabot/config.yml"
170
179
  - ".github/ISSUE_TEMPLATE/bug_report.md"
171
180
  - ".github/ISSUE_TEMPLATE/config.yml"
172
181
  - ".github/ISSUE_TEMPLATE/story.md"
173
182
  - ".github/PULL_REQUEST_TEMPLATE.md"
174
183
  - ".github/workflows/auto-approve.yml"
184
+ - ".github/workflows/auto-merge.yml"
175
185
  - ".gitignore"
176
186
  - ".rspec"
177
187
  - ".travis.yml"
@@ -203,7 +213,7 @@ metadata:
203
213
  homepage_uri: https://github.com/renofi/salesforce_streamer
204
214
  source_code_uri: https://github.com/renofi/salesforce_streamer
205
215
  documentation_uri: https://www.rubydoc.info/gems/salesforce_streamer
206
- post_install_message:
216
+ post_install_message:
207
217
  rdoc_options: []
208
218
  require_paths:
209
219
  - lib
@@ -218,8 +228,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
228
  - !ruby/object:Gem::Version
219
229
  version: '0'
220
230
  requirements: []
221
- rubygems_version: 3.1.2
222
- signing_key:
231
+ rubygems_version: 3.2.16
232
+ signing_key:
223
233
  specification_version: 4
224
234
  summary: A wrapper around the Restforce Streaming API with a built-in PushTopic manager.
225
235
  test_files: []