salesforce_streamer 2.1.1 → 2.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: 4a92bbc0eaffa8152b8cdcc6b8eb35248a8fe1e996bc73410dc1ed4043acde08
4
- data.tar.gz: '0787479213ab7bc07c07a6cc5d8c9034f5593aee613a28529e25dd51e8c3d9c2'
3
+ metadata.gz: 1b4745cb1c8f38229ac4be01e746a7b865458c37e0d293f3505bfe9803cce20c
4
+ data.tar.gz: 290378a24b830fedd86290a06deaf5050fd1187c22467cadc6b1278aee19cebf
5
5
  SHA512:
6
- metadata.gz: 95e9b7ba4133fe7c7840e413677cff3121b6d4c94c9f1037b4fd91fe1a111dd6a1ac350075b987d68cd1fbcb72b733fbed3bd087353b6a075789a8fd15c014cb
7
- data.tar.gz: 573892b3222c3240fb8d171b32f03f446bae3a0ff2184aa7bbbdf71f940ecc961cd84a634dda824a9ecb42acb13446e44b8d0d8f4f4dacb4cae0f1c555658cf0
6
+ metadata.gz: 228d3f363b0b0bb292e94c4776c74fd8930f616250664fb586cfafa2695fcdde07f754f850c430e87ec12b9473046d733975d4c5ac3f9d9e70fd6be0ef8baa73
7
+ data.tar.gz: '0850171e7c9762b7cf498a8c9066b21482cab7e69f30d7a72d9cc0ca7b12c90ab5ea167ae312614d6d25060558cfd7aa2a880f60e6d7eaacf8229e916e14c61b'
@@ -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.11.0"
16
+ env:
17
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18
+ MERGE_METHOD: squash
19
+ MERGE_DELETE_BRANCH: true
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- salesforce_streamer (2.1.1)
4
+ salesforce_streamer (2.2.0)
5
5
  dry-initializer (~> 3.0)
6
6
  faye (~> 1.4)
7
7
  restforce (>= 4.2, < 6.0)
@@ -13,13 +13,13 @@ GEM
13
13
  public_suffix (>= 2.0.2, < 5.0)
14
14
  ast (2.4.1)
15
15
  byebug (11.1.3)
16
- codecov (0.2.9)
16
+ codecov (0.2.12)
17
17
  json
18
18
  simplecov
19
19
  cookiejar (0.3.3)
20
20
  diff-lcs (1.4.4)
21
21
  docile (1.3.2)
22
- dry-initializer (3.0.3)
22
+ dry-initializer (3.0.4)
23
23
  em-http-request (1.1.7)
24
24
  addressable (>= 2.3.4)
25
25
  cookiejar (!= 0.3.1)
@@ -29,8 +29,9 @@ GEM
29
29
  em-socksify (0.3.2)
30
30
  eventmachine (>= 1.0.0.beta.4)
31
31
  eventmachine (1.2.7)
32
- faraday (1.0.1)
32
+ faraday (1.1.0)
33
33
  multipart-post (>= 1.2, < 3)
34
+ ruby2_keywords
34
35
  faraday_middleware (1.0.0)
35
36
  faraday (~> 1.0)
36
37
  faye (1.4.0)
@@ -50,53 +51,56 @@ GEM
50
51
  jwt (2.2.2)
51
52
  multi_json (1.15.0)
52
53
  multipart-post (2.1.1)
53
- parallel (1.19.2)
54
- parser (2.7.1.4)
54
+ parallel (1.20.0)
55
+ parser (2.7.2.0)
55
56
  ast (~> 2.4.1)
56
- public_suffix (4.0.5)
57
+ public_suffix (4.0.6)
57
58
  rack (2.2.3)
58
59
  rainbow (3.0.0)
59
60
  rake (13.0.1)
60
- regexp_parser (1.7.1)
61
- restforce (5.0.1)
61
+ regexp_parser (1.8.2)
62
+ restforce (5.0.3)
62
63
  faraday (>= 0.9.0, <= 2.0)
63
64
  faraday_middleware (>= 0.8.8, <= 2.0)
64
65
  hashie (>= 1.2.0, < 5.0)
65
66
  jwt (>= 1.5.6)
66
67
  rexml (3.2.4)
67
- rspec (3.9.0)
68
- rspec-core (~> 3.9.0)
69
- rspec-expectations (~> 3.9.0)
70
- rspec-mocks (~> 3.9.0)
71
- rspec-core (3.9.2)
72
- rspec-support (~> 3.9.3)
73
- rspec-expectations (3.9.2)
68
+ rspec (3.10.0)
69
+ rspec-core (~> 3.10.0)
70
+ rspec-expectations (~> 3.10.0)
71
+ rspec-mocks (~> 3.10.0)
72
+ rspec-core (3.10.0)
73
+ rspec-support (~> 3.10.0)
74
+ rspec-expectations (3.10.0)
74
75
  diff-lcs (>= 1.2.0, < 2.0)
75
- rspec-support (~> 3.9.0)
76
- rspec-mocks (3.9.1)
76
+ rspec-support (~> 3.10.0)
77
+ rspec-mocks (3.10.0)
77
78
  diff-lcs (>= 1.2.0, < 2.0)
78
- rspec-support (~> 3.9.0)
79
- rspec-support (3.9.3)
80
- rubocop (0.90.0)
79
+ rspec-support (~> 3.10.0)
80
+ rspec-support (3.10.0)
81
+ rubocop (1.2.0)
81
82
  parallel (~> 1.10)
82
- parser (>= 2.7.1.1)
83
+ parser (>= 2.7.1.5)
83
84
  rainbow (>= 2.2.2, < 4.0)
84
- regexp_parser (>= 1.7)
85
+ regexp_parser (>= 1.8)
85
86
  rexml
86
- rubocop-ast (>= 0.3.0, < 1.0)
87
+ rubocop-ast (>= 1.0.1)
87
88
  ruby-progressbar (~> 1.7)
88
89
  unicode-display_width (>= 1.4.0, < 2.0)
89
- rubocop-ast (0.3.0)
90
- parser (>= 2.7.1.4)
91
- rubocop-performance (1.7.1)
92
- rubocop (>= 0.82.0)
93
- rubocop-rspec (1.43.2)
94
- rubocop (~> 0.87)
90
+ rubocop-ast (1.1.1)
91
+ parser (>= 2.7.1.5)
92
+ rubocop-performance (1.8.1)
93
+ rubocop (>= 0.87.0)
94
+ rubocop-ast (>= 0.4.0)
95
+ rubocop-rspec (2.0.0)
96
+ rubocop (~> 1.0)
97
+ rubocop-ast (>= 1.1.0)
95
98
  ruby-progressbar (1.10.1)
96
- simplecov (0.19.0)
99
+ ruby2_keywords (0.0.2)
100
+ simplecov (0.19.1)
97
101
  docile (~> 1.1)
98
102
  simplecov-html (~> 0.11)
99
- simplecov-html (0.12.2)
103
+ simplecov-html (0.12.3)
100
104
  unicode-display_width (1.7.0)
101
105
  websocket-driver (0.7.3)
102
106
  websocket-extensions (>= 0.1.0)
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,17 @@ 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.
187
+
176
188
  ## Development
177
189
 
178
190
  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.
@@ -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|
@@ -27,7 +27,10 @@ module SalesforceStreamer
27
27
  return @client if @client
28
28
  @client = Restforce.new
29
29
  @client.authenticate!
30
- @client.faye.add_extension ReplayIdErrorExtension.new
30
+ Configuration.instance.faye_extensions.each do |extension|
31
+ Log.debug %(adding Faye extension #{extension})
32
+ @client.faye.add_extension extension
33
+ end
31
34
  @client
32
35
  end
33
36
 
@@ -1,3 +1,3 @@
1
1
  module SalesforceStreamer
2
- VERSION = '2.1.1'.freeze
2
+ VERSION = '2.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salesforce_streamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Serok
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-09-02 00:00:00.000000000 Z
12
+ date: 2020-11-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dry-initializer
@@ -172,6 +172,7 @@ files:
172
172
  - ".github/ISSUE_TEMPLATE/story.md"
173
173
  - ".github/PULL_REQUEST_TEMPLATE.md"
174
174
  - ".github/workflows/auto-approve.yml"
175
+ - ".github/workflows/auto-merge.yml"
175
176
  - ".gitignore"
176
177
  - ".rspec"
177
178
  - ".travis.yml"
@@ -218,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
219
  - !ruby/object:Gem::Version
219
220
  version: '0'
220
221
  requirements: []
221
- rubygems_version: 3.1.2
222
+ rubygems_version: 3.1.4
222
223
  signing_key:
223
224
  specification_version: 4
224
225
  summary: A wrapper around the Restforce Streaming API with a built-in PushTopic manager.