webhook_system 2.1.6 → 2.3.1

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: 428ebdafe157c314eb2426f47c9a04ab236dc6261b7ab469ddbbee5ff86fdf87
4
- data.tar.gz: 22dc65660838f49875cdefb303e7ef783e97e53931c9ad889e20a3954bb22000
3
+ metadata.gz: 77d7ec8477433ee2a5594c7c2ded3a1d21c3ab2fc64255ff006334e165749f82
4
+ data.tar.gz: cf0766758fe594dfa511fdce07f36d3ef934cf9be3ee5a7e0446670c7e8e2899
5
5
  SHA512:
6
- metadata.gz: da4e60ad66ac25c63eff52f51f8e46f3fc0a1087b9f4ff5e355290cefe3d6003853666cf3a92db84f2dcd1f1ec3efb47d559d31819afb16548b14223e2b58b66
7
- data.tar.gz: f4ace79d2aa3f3b63492f7220f27f03a7dc5af3b49e503197b6f98f9ac8648ea28ac08d2e794c521fc80910391ddb77cc3baea275d33b41ac1e17ac45f35469c
6
+ metadata.gz: 8035bd08b0484bd420846eeaf9f308b627acb162be14078985a7a457227665477f69ee73a79915a913a1f0a41f3105fe059bb931fb75f17afc45293b8712ee20
7
+ data.tar.gz: 9ab8c7afd1949d755adb08996e0d0beabf890e6777c37d15cb76e104c58ae0ff6df764d6e2925c565ee048e1dba5a1fcf441b31996ed763fd8573b506067fff4
@@ -0,0 +1,51 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: build
9
+
10
+ on: [push, pull_request]
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-20.04
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ruby:
19
+ - 2.7
20
+ - 2.6
21
+ - 2.5
22
+ gemfile:
23
+ - rails_4.2
24
+ - rails_5.0
25
+ - rails_5.1
26
+ - rails_5_2
27
+ - rails_6.0
28
+ - rails_6.1
29
+ exclude:
30
+ - gemfile: rails_4.2
31
+ ruby: 2.7
32
+ - gemfile: rails_4.2
33
+ ruby: 3.0
34
+ - gemfile: rails_5.0
35
+ ruby: 2.7
36
+ - gemfile: rails_5.0
37
+ ruby: 3.0
38
+ - gemfile: rails_5.1
39
+ ruby: 2.7
40
+ - gemfile: rails_5.1
41
+ ruby: 3.0
42
+
43
+ env:
44
+ BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
45
+ steps:
46
+ - uses: actions/checkout@v2
47
+ - uses: ruby/setup-ruby@v1
48
+ with:
49
+ ruby-version: ${{ matrix.ruby }}
50
+ bundler-cache: true
51
+ - run: bundle exec rake
data/.gitignore CHANGED
@@ -5,3 +5,4 @@ pkg/
5
5
  tmp/
6
6
  .ruby-version
7
7
  gemfiles/*.lock
8
+ webhook_system-*.gem
data/CHANGELOG.md CHANGED
@@ -1,8 +1,52 @@
1
1
  # Change Log
2
2
 
3
+ ## [v2.3.1](https://github.com/payrollhero/webhook_system/tree/v2.3.1) (2022-04-27)
4
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.3.0...v2.3.1)
5
+
6
+ * Rails 6.1 Official support.
7
+
8
+ ## [v2.3.0](https://github.com/payrollhero/webhook_system/tree/v2.3.0) (2021-08-xx)
9
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.2.0...v2.3.0)
10
+
11
+ * Add ability to launch inline jobs instead of making external HTTP calls to another service.
12
+
13
+ ## [v2.2.0](https://github.com/payrollhero/webhook_system/tree/v2.2.0) (2019-11-07)
14
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.6...v2.2.0)
15
+
16
+ * Syntatic sugar: simple dispatch call to also build the event object
17
+
18
+ ## [v2.1.6](https://github.com/payrollhero/webhook_system/tree/v2.1.6) (2019-07-26)
19
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.5...v2.1.6)
20
+
21
+ * add account info to error message
22
+
23
+ ## [v2.1.5](https://github.com/payrollhero/webhook_system/tree/v2.1.5) (2019-07-24)
24
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.4...v2.1.5)
25
+
26
+ * response body error message in exception
27
+
28
+ ## [v2.1.4](https://github.com/payrollhero/webhook_system/tree/v2.1.4) (2019-05-10)
29
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.3...v2.1.4)
30
+
31
+ * Make URL display in Exception message
32
+ * Make tests pass again
33
+ * Small typo fix by Heath Attig, thank you
34
+
35
+ ## [v2.1.3](https://github.com/payrollhero/webhook_system/tree/v2.1.3) (2017-12-06)
36
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.2...v2.1.3)
37
+
38
+ by Ron
39
+
40
+ ## [v2.1.2](https://github.com/payrollhero/webhook_system/tree/v2.1.2) (2017-01-24)
41
+ [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.1...v2.1.2)
42
+
43
+ by Piotr
44
+
3
45
  ## [v2.1.1](https://github.com/payrollhero/webhook_system/tree/v2.1.1) (2016-12-20)
4
46
  [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.1.0...v2.1.1)
5
47
 
48
+ by Piotr
49
+
6
50
  ## [v2.1.0](https://github.com/payrollhero/webhook_system/tree/v2.1.0) (2016-07-20)
7
51
  [Full Changelog](https://github.com/payrollhero/webhook_system/compare/v2.0.0...v2.1.0)
8
52
 
@@ -53,4 +97,4 @@
53
97
 
54
98
 
55
99
 
56
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
100
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
@@ -1,5 +1,3 @@
1
- # This file was generated by Appraisal
2
-
3
1
  source "https://rubygems.org"
4
2
 
5
3
  gem "rails", "~> 4.2.11"
@@ -0,0 +1,263 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ webhook_system (2.3.1)
5
+ activejob (> 4.2, < 7.0)
6
+ activerecord (> 4.2, < 7.0)
7
+ activesupport (> 4.2, < 7.0)
8
+ faraday (> 0.9)
9
+ faraday-encoding (>= 0.0.2, < 1.0)
10
+ ph_model
11
+ validate_url (~> 1.0)
12
+
13
+ GEM
14
+ remote: https://rubygems.org/
15
+ specs:
16
+ actionmailer (4.2.11.3)
17
+ actionpack (= 4.2.11.3)
18
+ actionview (= 4.2.11.3)
19
+ activejob (= 4.2.11.3)
20
+ mail (~> 2.5, >= 2.5.4)
21
+ rails-dom-testing (~> 1.0, >= 1.0.5)
22
+ actionpack (4.2.11.3)
23
+ actionview (= 4.2.11.3)
24
+ activesupport (= 4.2.11.3)
25
+ rack (~> 1.6)
26
+ rack-test (~> 0.6.2)
27
+ rails-dom-testing (~> 1.0, >= 1.0.5)
28
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
29
+ actionview (4.2.11.3)
30
+ activesupport (= 4.2.11.3)
31
+ builder (~> 3.1)
32
+ erubis (~> 2.7.0)
33
+ rails-dom-testing (~> 1.0, >= 1.0.5)
34
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
35
+ active_attr (0.15.4)
36
+ actionpack (>= 3.0.2, < 7.1)
37
+ activemodel (>= 3.0.2, < 7.1)
38
+ activesupport (>= 3.0.2, < 7.1)
39
+ activejob (4.2.11.3)
40
+ activesupport (= 4.2.11.3)
41
+ globalid (>= 0.3.0)
42
+ activemodel (4.2.11.3)
43
+ activesupport (= 4.2.11.3)
44
+ builder (~> 3.1)
45
+ activerecord (4.2.11.3)
46
+ activemodel (= 4.2.11.3)
47
+ activesupport (= 4.2.11.3)
48
+ arel (~> 6.0)
49
+ activesupport (4.2.11.3)
50
+ i18n (~> 0.7)
51
+ minitest (~> 5.1)
52
+ thread_safe (~> 0.3, >= 0.3.4)
53
+ tzinfo (~> 1.1)
54
+ addressable (2.8.0)
55
+ public_suffix (>= 2.0.2, < 5.0)
56
+ arel (6.0.4)
57
+ ast (2.4.2)
58
+ async (1.30.1)
59
+ console (~> 1.10)
60
+ nio4r (~> 2.3)
61
+ timers (~> 4.1)
62
+ async-http (0.56.5)
63
+ async (>= 1.25)
64
+ async-io (>= 1.28)
65
+ async-pool (>= 0.2)
66
+ protocol-http (~> 0.22.0)
67
+ protocol-http1 (~> 0.14.0)
68
+ protocol-http2 (~> 0.14.0)
69
+ async-http-faraday (0.11.0)
70
+ async-http (~> 0.42)
71
+ faraday
72
+ async-io (1.33.0)
73
+ async
74
+ async-pool (0.3.9)
75
+ async (>= 1.25)
76
+ builder (3.2.4)
77
+ concurrent-ruby (1.1.10)
78
+ console (1.15.0)
79
+ fiber-local
80
+ crack (0.4.5)
81
+ rexml
82
+ crass (1.0.6)
83
+ diff-lcs (1.5.0)
84
+ erubis (2.7.0)
85
+ factory_bot (5.2.0)
86
+ activesupport (>= 4.2.0)
87
+ faraday (1.10.0)
88
+ faraday-em_http (~> 1.0)
89
+ faraday-em_synchrony (~> 1.0)
90
+ faraday-excon (~> 1.1)
91
+ faraday-httpclient (~> 1.0)
92
+ faraday-multipart (~> 1.0)
93
+ faraday-net_http (~> 1.0)
94
+ faraday-net_http_persistent (~> 1.0)
95
+ faraday-patron (~> 1.0)
96
+ faraday-rack (~> 1.0)
97
+ faraday-retry (~> 1.0)
98
+ ruby2_keywords (>= 0.0.4)
99
+ faraday-em_http (1.0.0)
100
+ faraday-em_synchrony (1.0.0)
101
+ faraday-encoding (0.0.5)
102
+ faraday
103
+ faraday-excon (1.1.0)
104
+ faraday-http-cache (2.2.0)
105
+ faraday (>= 0.8)
106
+ faraday-httpclient (1.0.1)
107
+ faraday-multipart (1.0.3)
108
+ multipart-post (>= 1.2, < 3)
109
+ faraday-net_http (1.0.1)
110
+ faraday-net_http_persistent (1.2.0)
111
+ faraday-patron (1.0.0)
112
+ faraday-rack (1.0.0)
113
+ faraday-retry (1.0.3)
114
+ fiber-local (1.0.0)
115
+ github_changelog_generator (1.16.4)
116
+ activesupport
117
+ async (>= 1.25.0)
118
+ async-http-faraday
119
+ faraday-http-cache
120
+ multi_json
121
+ octokit (~> 4.6)
122
+ rainbow (>= 2.2.1)
123
+ rake (>= 10.0)
124
+ globalid (0.4.2)
125
+ activesupport (>= 4.2.0)
126
+ hashdiff (1.0.1)
127
+ i18n (0.9.5)
128
+ concurrent-ruby (~> 1.0)
129
+ io-console (0.5.9)
130
+ irb (1.4.1)
131
+ reline (>= 0.3.0)
132
+ loofah (2.16.0)
133
+ crass (~> 1.0.2)
134
+ nokogiri (>= 1.5.9)
135
+ mail (2.7.1)
136
+ mini_mime (>= 0.1.1)
137
+ mini_mime (1.1.2)
138
+ mini_portile2 (2.6.1)
139
+ minitest (5.15.0)
140
+ multi_json (1.15.0)
141
+ multipart-post (2.1.1)
142
+ nio4r (2.5.8)
143
+ nokogiri (1.12.5)
144
+ mini_portile2 (~> 2.6.1)
145
+ racc (~> 1.4)
146
+ octokit (4.22.0)
147
+ faraday (>= 0.9)
148
+ sawyer (~> 0.8.0, >= 0.5.3)
149
+ parser (2.7.2.0)
150
+ ast (~> 2.4.1)
151
+ ph_model (1.1.3)
152
+ active_attr (~> 0.8)
153
+ activemodel (> 3.2)
154
+ activesupport (> 3.2)
155
+ powerpack (0.1.3)
156
+ protocol-hpack (1.4.2)
157
+ protocol-http (0.22.5)
158
+ protocol-http1 (0.14.2)
159
+ protocol-http (~> 0.22)
160
+ protocol-http2 (0.14.2)
161
+ protocol-hpack (~> 1.4)
162
+ protocol-http (~> 0.18)
163
+ public_suffix (4.0.7)
164
+ racc (1.6.0)
165
+ rack (1.6.13)
166
+ rack-test (0.6.3)
167
+ rack (>= 1.0)
168
+ rails (4.2.11.3)
169
+ actionmailer (= 4.2.11.3)
170
+ actionpack (= 4.2.11.3)
171
+ actionview (= 4.2.11.3)
172
+ activejob (= 4.2.11.3)
173
+ activemodel (= 4.2.11.3)
174
+ activerecord (= 4.2.11.3)
175
+ activesupport (= 4.2.11.3)
176
+ bundler (>= 1.3.0, < 2.0)
177
+ railties (= 4.2.11.3)
178
+ sprockets-rails
179
+ rails-deprecated_sanitizer (1.0.4)
180
+ activesupport (>= 4.2.0.alpha)
181
+ rails-dom-testing (1.0.9)
182
+ activesupport (>= 4.2.0, < 5.0)
183
+ nokogiri (~> 1.6)
184
+ rails-deprecated_sanitizer (>= 1.0.1)
185
+ rails-html-sanitizer (1.4.2)
186
+ loofah (~> 2.3)
187
+ railties (4.2.11.3)
188
+ actionpack (= 4.2.11.3)
189
+ activesupport (= 4.2.11.3)
190
+ rake (>= 0.8.7)
191
+ thor (>= 0.18.1, < 2.0)
192
+ rainbow (2.2.2)
193
+ rake
194
+ rake (13.0.6)
195
+ reline (0.3.1)
196
+ io-console (~> 0.5)
197
+ rexml (3.2.5)
198
+ rspec (3.11.0)
199
+ rspec-core (~> 3.11.0)
200
+ rspec-expectations (~> 3.11.0)
201
+ rspec-mocks (~> 3.11.0)
202
+ rspec-core (3.11.0)
203
+ rspec-support (~> 3.11.0)
204
+ rspec-expectations (3.11.0)
205
+ diff-lcs (>= 1.2.0, < 2.0)
206
+ rspec-support (~> 3.11.0)
207
+ rspec-mocks (3.11.1)
208
+ diff-lcs (>= 1.2.0, < 2.0)
209
+ rspec-support (~> 3.11.0)
210
+ rspec-support (3.11.0)
211
+ rubocop (0.48.1)
212
+ parser (>= 2.3.3.1, < 3.0)
213
+ powerpack (~> 0.1)
214
+ rainbow (>= 1.99.1, < 3.0)
215
+ ruby-progressbar (~> 1.7)
216
+ unicode-display_width (~> 1.0, >= 1.0.1)
217
+ ruby-progressbar (1.11.0)
218
+ ruby2_keywords (0.0.5)
219
+ rubygems-tasks (0.2.5)
220
+ irb (~> 1.0)
221
+ sawyer (0.8.2)
222
+ addressable (>= 2.3.5)
223
+ faraday (> 0.8, < 2.0)
224
+ sprockets (4.0.3)
225
+ concurrent-ruby (~> 1.0)
226
+ rack (> 1, < 3)
227
+ sprockets-rails (3.2.2)
228
+ actionpack (>= 4.0)
229
+ activesupport (>= 4.0)
230
+ sprockets (>= 3.0.0)
231
+ sqlite3 (1.3.13)
232
+ thor (1.2.1)
233
+ thread_safe (0.3.6)
234
+ timers (4.3.3)
235
+ tzinfo (1.2.9)
236
+ thread_safe (~> 0.1)
237
+ unicode-display_width (1.8.0)
238
+ validate_url (1.0.13)
239
+ activemodel (>= 3.0.0)
240
+ public_suffix
241
+ webmock (3.14.0)
242
+ addressable (>= 2.8.0)
243
+ crack (>= 0.3.2)
244
+ hashdiff (>= 0.4.0, < 2.0.0)
245
+
246
+ PLATFORMS
247
+ ruby
248
+
249
+ DEPENDENCIES
250
+ bundler (> 1.17, < 2.5)
251
+ factory_bot
252
+ github_changelog_generator (~> 1.6)
253
+ rails (~> 4.2.11)
254
+ rake
255
+ rspec (~> 3.0)
256
+ rubocop (~> 0.48.1)
257
+ rubygems-tasks (~> 0.2)
258
+ sqlite3 (~> 1.3.6)
259
+ webhook_system!
260
+ webmock
261
+
262
+ BUNDLED WITH
263
+ 1.17.3
@@ -1,8 +1,6 @@
1
- # This file was generated by Appraisal
2
-
3
1
  source "https://rubygems.org"
4
2
 
5
- gem "rails", "~> 5.0.1"
3
+ gem "rails", "~> 5.0.7"
6
4
  gem "sqlite3", "~> 1.3.6"
7
5
 
8
6
  gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.1.7"
4
+ gem "sqlite3", "~> 1.3.6"
5
+
6
+ gemspec path: "../"
@@ -1,8 +1,6 @@
1
- # This file was generated by Appraisal
2
-
3
1
  source "https://rubygems.org"
4
2
 
5
- gem "rails", "~> 5.2.1"
3
+ gem "rails", "~> 5.2.6"
6
4
  gem "sqlite3", "~> 1.4.1"
7
5
 
8
6
  gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 6.0.4"
4
+ gem "sqlite3"
5
+
6
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 6.1.4"
4
+ gem "sqlite3"
5
+ gem "minitest"
6
+
7
+ gemspec path: "../"
@@ -37,6 +37,10 @@ module WebhookSystem
37
37
  key.to_s.in? %w(event event_id)
38
38
  end
39
39
 
40
+ def self.dispatch(args)
41
+ WebhookSystem::Subscription.global.dispatch self.build(args)
42
+ end
43
+
40
44
  private
41
45
 
42
46
  def with_caller_backtrace(exception, backtrack=2)
@@ -32,7 +32,22 @@ module WebhookSystem
32
32
  end
33
33
 
34
34
  def perform(subscription, event)
35
- self.class.post(subscription, event)
35
+ if subscription.url.match?(/^https?:/)
36
+ self.class.post(subscription, event)
37
+ elsif (match_data = subscription.url.match(/^inline:(.*)/)).present?
38
+ self.class.call_inline(match_data[1], subscription, event)
39
+ else
40
+ raise RuntimeError, "unknown prefix url for subscription"
41
+ ensure_success(ErrorResponse.new(exception), :INVALID, subscription)
42
+ end
43
+ end
44
+
45
+ def self.call_inline(job_name, subscription, event)
46
+ # subscription url could contain a job name, or a ruby class/method call
47
+ # how do we sanitize this not to be allowing hackers to call arbitrary code via
48
+ # a subscription? maybe a prefix is enough?
49
+ job_class = const_get("WebhookSystem::Inline#{job_name}Job")
50
+ job_class.perform_now(subscription, event)
36
51
  end
37
52
 
38
53
  def self.post(subscription, event)
@@ -6,7 +6,8 @@ module WebhookSystem
6
6
 
7
7
  belongs_to :account if defined?(Account)
8
8
 
9
- validates :url, presence: true, url: { no_local: true }
9
+ INLINE_JOB_REGEXP=/^inline:(.*)/
10
+ validates :url, presence: true, url: { no_local: true }, if: Proc.new { |a| !a.url.match?(INLINE_JOB_REGEXP) }
10
11
  validates :secret, presence: true
11
12
 
12
13
  has_many :topics, class_name: 'WebhookSystem::SubscriptionTopic', dependent: :destroy
@@ -33,7 +34,11 @@ module WebhookSystem
33
34
 
34
35
  # Just a helper to get a nice representation of the subscription
35
36
  def url_domain
36
- URI.parse(url).host
37
+ if data = url.match(INLINE_JOB_REGEXP)
38
+ data[1]
39
+ else
40
+ URI.parse(url).host
41
+ end
37
42
  end
38
43
 
39
44
  # Abstraction around the topics relation, returns an array of the subscribed topic names
@@ -1,3 +1,3 @@
1
1
  module WebhookSystem
2
- VERSION = '2.1.6'
2
+ VERSION = '2.3.1'
3
3
  end
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.name = 'webhook_system'
7
7
  gem.version = WebhookSystem::VERSION
8
8
  gem.authors = ['Piotr Banasik', 'Mykola Kyryk']
9
- gem.email = 'piotr@payrollhero.com'
9
+ gem.email = 'dev@payrollhero.com'
10
10
 
11
11
  gem.summary = 'Webhook system'
12
12
  gem.description = 'A pluggable webhook subscription system'
@@ -18,24 +18,22 @@ Gem::Specification.new do |gem|
18
18
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
19
19
  gem.require_paths = ['lib']
20
20
 
21
- gem.add_runtime_dependency 'activesupport', '> 3.2'#, '< 5.0' # have to drop support for ruby 2.1 if we enable 5.0
22
- gem.add_runtime_dependency 'activerecord', '> 3.2'#, '< 5.0' # have to drop support for ruby 2.1 if we enable 5.0
23
- gem.add_runtime_dependency 'activejob'
24
- gem.add_runtime_dependency 'faraday', '~> 0.9'
21
+ gem.add_runtime_dependency 'activesupport', '> 4.2', '< 7.0'
22
+ gem.add_runtime_dependency 'activerecord', '> 4.2', '< 7.0'
23
+ gem.add_runtime_dependency 'activejob', '> 4.2', '< 7.0'
24
+ gem.add_runtime_dependency 'faraday', '> 0.9'
25
25
  gem.add_runtime_dependency 'faraday-encoding', '>= 0.0.2', '< 1.0'
26
26
  gem.add_runtime_dependency 'ph_model'
27
27
  gem.add_runtime_dependency 'validate_url', '~> 1.0'
28
28
 
29
- gem.add_development_dependency 'bundler', '> 1.0', '< 2.5'
29
+ gem.add_development_dependency 'bundler', '> 1.17', '< 2.5'
30
30
  gem.add_development_dependency 'rake'
31
31
  gem.add_development_dependency 'rspec', '~> 3.0'
32
32
  gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
33
- gem.add_development_dependency 'pry'
34
33
  gem.add_development_dependency 'sqlite3'
35
34
  gem.add_development_dependency 'github_changelog_generator', '~> 1.6'
36
- gem.add_development_dependency 'factory_girl'
35
+ gem.add_development_dependency 'factory_bot'
37
36
  gem.add_development_dependency 'webmock'
38
- gem.add_development_dependency 'appraisal'
39
37
 
40
38
  # static analysis gems
41
39
  gem.add_development_dependency 'rubocop', '~> 0.48.1'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webhook_system
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Banasik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-07-26 00:00:00.000000000 Z
12
+ date: 2022-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,54 +17,72 @@ dependencies:
17
17
  requirements:
18
18
  - - ">"
19
19
  - !ruby/object:Gem::Version
20
- version: '3.2'
20
+ version: '4.2'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '7.0'
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - ">"
26
29
  - !ruby/object:Gem::Version
27
- version: '3.2'
30
+ version: '4.2'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '7.0'
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: activerecord
30
36
  requirement: !ruby/object:Gem::Requirement
31
37
  requirements:
32
38
  - - ">"
33
39
  - !ruby/object:Gem::Version
34
- version: '3.2'
40
+ version: '4.2'
41
+ - - "<"
42
+ - !ruby/object:Gem::Version
43
+ version: '7.0'
35
44
  type: :runtime
36
45
  prerelease: false
37
46
  version_requirements: !ruby/object:Gem::Requirement
38
47
  requirements:
39
48
  - - ">"
40
49
  - !ruby/object:Gem::Version
41
- version: '3.2'
50
+ version: '4.2'
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '7.0'
42
54
  - !ruby/object:Gem::Dependency
43
55
  name: activejob
44
56
  requirement: !ruby/object:Gem::Requirement
45
57
  requirements:
46
- - - ">="
58
+ - - ">"
47
59
  - !ruby/object:Gem::Version
48
- version: '0'
60
+ version: '4.2'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '7.0'
49
64
  type: :runtime
50
65
  prerelease: false
51
66
  version_requirements: !ruby/object:Gem::Requirement
52
67
  requirements:
53
- - - ">="
68
+ - - ">"
54
69
  - !ruby/object:Gem::Version
55
- version: '0'
70
+ version: '4.2'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '7.0'
56
74
  - !ruby/object:Gem::Dependency
57
75
  name: faraday
58
76
  requirement: !ruby/object:Gem::Requirement
59
77
  requirements:
60
- - - "~>"
78
+ - - ">"
61
79
  - !ruby/object:Gem::Version
62
80
  version: '0.9'
63
81
  type: :runtime
64
82
  prerelease: false
65
83
  version_requirements: !ruby/object:Gem::Requirement
66
84
  requirements:
67
- - - "~>"
85
+ - - ">"
68
86
  - !ruby/object:Gem::Version
69
87
  version: '0.9'
70
88
  - !ruby/object:Gem::Dependency
@@ -121,7 +139,7 @@ dependencies:
121
139
  requirements:
122
140
  - - ">"
123
141
  - !ruby/object:Gem::Version
124
- version: '1.0'
142
+ version: '1.17'
125
143
  - - "<"
126
144
  - !ruby/object:Gem::Version
127
145
  version: '2.5'
@@ -131,7 +149,7 @@ dependencies:
131
149
  requirements:
132
150
  - - ">"
133
151
  - !ruby/object:Gem::Version
134
- version: '1.0'
152
+ version: '1.17'
135
153
  - - "<"
136
154
  - !ruby/object:Gem::Version
137
155
  version: '2.5'
@@ -177,20 +195,6 @@ dependencies:
177
195
  - - "~>"
178
196
  - !ruby/object:Gem::Version
179
197
  version: '0.2'
180
- - !ruby/object:Gem::Dependency
181
- name: pry
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
- type: :development
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
194
198
  - !ruby/object:Gem::Dependency
195
199
  name: sqlite3
196
200
  requirement: !ruby/object:Gem::Requirement
@@ -220,7 +224,7 @@ dependencies:
220
224
  - !ruby/object:Gem::Version
221
225
  version: '1.6'
222
226
  - !ruby/object:Gem::Dependency
223
- name: factory_girl
227
+ name: factory_bot
224
228
  requirement: !ruby/object:Gem::Requirement
225
229
  requirements:
226
230
  - - ">="
@@ -247,20 +251,6 @@ dependencies:
247
251
  - - ">="
248
252
  - !ruby/object:Gem::Version
249
253
  version: '0'
250
- - !ruby/object:Gem::Dependency
251
- name: appraisal
252
- requirement: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- version: '0'
257
- type: :development
258
- prerelease: false
259
- version_requirements: !ruby/object:Gem::Requirement
260
- requirements:
261
- - - ">="
262
- - !ruby/object:Gem::Version
263
- version: '0'
264
254
  - !ruby/object:Gem::Dependency
265
255
  name: rubocop
266
256
  requirement: !ruby/object:Gem::Requirement
@@ -276,17 +266,16 @@ dependencies:
276
266
  - !ruby/object:Gem::Version
277
267
  version: 0.48.1
278
268
  description: A pluggable webhook subscription system
279
- email: piotr@payrollhero.com
269
+ email: dev@payrollhero.com
280
270
  executables: []
281
271
  extensions: []
282
272
  extra_rdoc_files: []
283
273
  files:
284
274
  - ".codeclimate.yml"
275
+ - ".github/workflows/build.yml"
285
276
  - ".gitignore"
286
277
  - ".rubocop.hound.yml"
287
278
  - ".rubocop.yml"
288
- - ".travis.yml"
289
- - Appraisals
290
279
  - CHANGELOG.md
291
280
  - DEPLOYING.md
292
281
  - Gemfile
@@ -294,9 +283,13 @@ files:
294
283
  - README.md
295
284
  - Rakefile
296
285
  - gemfiles/.bundle/config
297
- - gemfiles/rails_4.gemfile
298
- - gemfiles/rails_5.gemfile
286
+ - gemfiles/rails_4.2.gemfile
287
+ - gemfiles/rails_4.2.gemfile.lock
288
+ - gemfiles/rails_5.0.gemfile
289
+ - gemfiles/rails_5.1.gemfile
299
290
  - gemfiles/rails_5_2.gemfile
291
+ - gemfiles/rails_6.0.gemfile
292
+ - gemfiles/rails_6.1.gemfile
300
293
  - lib/webhook_system.rb
301
294
  - lib/webhook_system/base_event.rb
302
295
  - lib/webhook_system/encoder.rb
@@ -325,7 +318,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
325
318
  - !ruby/object:Gem::Version
326
319
  version: '0'
327
320
  requirements: []
328
- rubygems_version: 3.0.4
321
+ rubygems_version: 3.0.9
329
322
  signing_key:
330
323
  specification_version: 4
331
324
  summary: Webhook system
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.1.8
4
- - 2.2.4
5
- - 2.3.0
6
- - 2.5.3
7
- - 2.6.3
8
-
9
- gemfile:
10
- - gemfiles/rails_4.gemfile
11
- - gemfiles/rails_5.gemfile
12
- - gemfiles/rails_5_2.gemfile
13
-
14
- matrix:
15
- exclude:
16
- - rvm: 2.5.3
17
- gemfile: gemfiles/rails_4.gemfile
18
- - rvm: 2.1.8
19
- gemfile: gemfiles/rails_5.gemfile
20
- - rvm: 2.1.8
21
- gemfile: gemfiles/rails_5_2.gemfile
22
-
23
- script: "bundle exec rspec"
data/Appraisals DELETED
@@ -1,14 +0,0 @@
1
- appraise 'rails-4' do
2
- gem 'rails', '~> 4.2.11'
3
- gem 'sqlite3', '~> 1.3.6'
4
- end
5
-
6
- appraise 'rails-5' do
7
- gem 'rails', '~> 5.0.1'
8
- gem 'sqlite3', '~> 1.3.6'
9
- end
10
-
11
- appraise 'rails-5-2' do
12
- gem 'rails', '~> 5.2.1'
13
- gem 'sqlite3', '~> 1.4.1'
14
- end