bridge_cache 0.0.17 → 0.0.18
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe9f7dc02c99dcbe3627edab365cc1ab83005b40
|
4
|
+
data.tar.gz: 308aafc1de90150dd79aa399b7e11b004aaf3549
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdf68035835816b605413d587a670420f89edf9175d7c3530db430363933fcb52f579926e97746bf4551967d22ed682c79ba9c7d4d6a276770db145603fda2b1
|
7
|
+
data.tar.gz: 622fb7aacbfb6c249f9ee16a1285570c5d4714fbd152b5cad29317cd85838ec16beaff1f06725b1688a876309eb301dc89ecfcbe7aa584184e30ed976d1b80f6
|
@@ -12,5 +12,27 @@ module BridgeCache::Data
|
|
12
12
|
# Implement this method in your model if you want to do any sort of post creation cleanup.
|
13
13
|
# See tagging.rb for an example.
|
14
14
|
end
|
15
|
+
|
16
|
+
def webhook_updated(message)
|
17
|
+
create_or_update_from_webhook(message)
|
18
|
+
end
|
19
|
+
|
20
|
+
def webhook_created(message)
|
21
|
+
create_or_update_from_webhook(message)
|
22
|
+
end
|
23
|
+
|
24
|
+
def webhook_deleted(message)
|
25
|
+
message.payload_class.where(bridge_id: message.resource_object['id']).destroy_all
|
26
|
+
end
|
27
|
+
|
28
|
+
def webhook_completed(message)
|
29
|
+
raise "Method not implemented"
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def create_or_update_from_webhook(message)
|
35
|
+
message.payload_class.create_from_csv_row(message.resource_object)
|
36
|
+
end
|
15
37
|
end
|
16
38
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module BridgeCache::Webhooks
|
2
|
+
class Message
|
3
|
+
|
4
|
+
attr_reader :payload
|
5
|
+
|
6
|
+
def initialize(payload)
|
7
|
+
@payload = payload
|
8
|
+
end
|
9
|
+
|
10
|
+
def resource_object
|
11
|
+
@payload[@payload['resource']]
|
12
|
+
end
|
13
|
+
|
14
|
+
def payload_class
|
15
|
+
"BridgeCache::#{@payload['resource'].camelcase}".constantize
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module BridgeCache::Webhooks
|
2
|
+
class Request
|
3
|
+
def initialize(payload)
|
4
|
+
@payload = payload
|
5
|
+
end
|
6
|
+
|
7
|
+
def process
|
8
|
+
message = BridgeCache::Webhooks::Message.new(@payload)
|
9
|
+
message.payload_class.public_send("webhook_#{@payload['trigger']}".to_sym, message)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/bridge_cache/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bridge_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jshaffer
|
@@ -201,6 +201,8 @@ files:
|
|
201
201
|
- app/lib/bridge_cache/plugins/csv_dump.rb
|
202
202
|
- app/lib/bridge_cache/plugins/data_transform.rb
|
203
203
|
- app/lib/bridge_cache/utils/worker_helper.rb
|
204
|
+
- app/lib/bridge_cache/webhooks/message.rb
|
205
|
+
- app/lib/bridge_cache/webhooks/request.rb
|
204
206
|
- app/models/bridge_cache/affiliated_sub_account.rb
|
205
207
|
- app/models/bridge_cache/application_record.rb
|
206
208
|
- app/models/bridge_cache/course_template.rb
|
@@ -262,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
262
264
|
version: '0'
|
263
265
|
requirements: []
|
264
266
|
rubyforge_project:
|
265
|
-
rubygems_version: 2.6.
|
267
|
+
rubygems_version: 2.6.11
|
266
268
|
signing_key:
|
267
269
|
specification_version: 4
|
268
270
|
summary: A mountable engine for bridge data storage
|