webhook_system 2.1.6 → 2.3.1

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