disco_app 0.6.6 → 0.6.7
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 +4 -4
- data/app/jobs/disco_app/concerns/app_installed_job.rb +2 -2
- data/app/jobs/disco_app/concerns/synchronise_carrier_service_job.rb +51 -0
- data/app/jobs/disco_app/synchronise_carrier_service_job.rb +3 -0
- data/lib/disco_app/version.rb +1 -1
- data/lib/tasks/carrier_service.rake +10 -0
- metadata +4 -4
- data/app/jobs/disco_app/concerns/synchronise_carrier_services_job.rb +0 -47
- data/app/jobs/disco_app/synchronise_carrier_services_job.rb +0 -3
- data/lib/tasks/carrier_services.rake +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '06960bd40f8d13cfc0976f62ef2dad843f3d6ce3fd6360fe3d39decf27474ffa'
|
4
|
+
data.tar.gz: c7629e5dc53f093f18f7336bb1e56b19317da51a15c35831dbe5622c454d92b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94a757245376dc817637b122fe6e6d0d89f8a983ed38cd51ada10d46348d5fb35082c20f54da371eb9ac95689701c3558024fdf673257f6424f4643310a5d64e
|
7
|
+
data.tar.gz: 56c7869198c5eb5074336694b8e2b3d0c1963f46314859486f2310bba201a80b03257a427afcf59c9713d727b5c4dd0ad34850e2dcc7e492785da3365a63b74f
|
@@ -10,12 +10,12 @@ module DiscoApp::Concerns::AppInstalledJob
|
|
10
10
|
# Perform application installation.
|
11
11
|
#
|
12
12
|
# - Synchronise webhooks.
|
13
|
-
# - Synchronise carrier
|
13
|
+
# - Synchronise carrier service, if required.
|
14
14
|
# - Perform initial update of shop information.
|
15
15
|
#
|
16
16
|
def perform(domain)
|
17
17
|
DiscoApp::SynchroniseWebhooksJob.perform_now(domain)
|
18
|
-
DiscoApp::
|
18
|
+
DiscoApp::SynchroniseCarrierServiceJob.perform_now(domain)
|
19
19
|
DiscoApp::ShopUpdateJob.perform_now(domain)
|
20
20
|
end
|
21
21
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module DiscoApp::Concerns::SynchroniseCarrierServiceJob
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
# Ensure that any carrier service required by our app is registered.
|
5
|
+
def perform(shopify_domain)
|
6
|
+
# Don't proceed unless we have a name and callback url.
|
7
|
+
return unless carrier_service_name and callback_url
|
8
|
+
|
9
|
+
# Don't proceed if the carrier service is already registered.
|
10
|
+
return if current_carrier_service_names.include?(carrier_service_name)
|
11
|
+
|
12
|
+
# Otherwise, register the carrier service.
|
13
|
+
ShopifyAPI::CarrierService.create(
|
14
|
+
name: carrier_service_name,
|
15
|
+
callback_url: callback_url,
|
16
|
+
service_discovery: true,
|
17
|
+
format: 'json'
|
18
|
+
)
|
19
|
+
|
20
|
+
# De-activate and extraneous carrier services.
|
21
|
+
current_carrier_services.each do |carrier_service|
|
22
|
+
unless carrier_service.name == carrier_service_name
|
23
|
+
carrier_service.active = false
|
24
|
+
carrier_service.save
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
protected
|
30
|
+
|
31
|
+
def carrier_service_name
|
32
|
+
Rails.application.config.x.shopify_app_name
|
33
|
+
end
|
34
|
+
|
35
|
+
def callback_url
|
36
|
+
nil
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
# Return a list of currently registered callback URLs.
|
42
|
+
def current_carrier_service_names
|
43
|
+
current_carrier_services.map(&:name)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Return a list of currently registered carrier services.
|
47
|
+
def current_carrier_services
|
48
|
+
@current_carrier_service ||= ShopifyAPI::CarrierService.find(:all)
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
data/lib/disco_app/version.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
namespace :carrier_service do
|
2
|
+
|
3
|
+
desc 'Synchronise carrier service across all installed shops.'
|
4
|
+
task sync: :environment do
|
5
|
+
DiscoApp::Shop.installed.has_active_shopify_plan.each do |shop|
|
6
|
+
DiscoApp::SynchroniseCarrierServiceJob.perform_later(shop.shopify_domain)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: disco_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Ballard
|
@@ -278,11 +278,11 @@ files:
|
|
278
278
|
- app/jobs/disco_app/concerns/app_installed_job.rb
|
279
279
|
- app/jobs/disco_app/concerns/app_uninstalled_job.rb
|
280
280
|
- app/jobs/disco_app/concerns/shop_update_job.rb
|
281
|
-
- app/jobs/disco_app/concerns/
|
281
|
+
- app/jobs/disco_app/concerns/synchronise_carrier_service_job.rb
|
282
282
|
- app/jobs/disco_app/concerns/synchronise_webhooks_job.rb
|
283
283
|
- app/jobs/disco_app/shop_job.rb
|
284
284
|
- app/jobs/disco_app/shop_update_job.rb
|
285
|
-
- app/jobs/disco_app/
|
285
|
+
- app/jobs/disco_app/synchronise_carrier_service_job.rb
|
286
286
|
- app/jobs/disco_app/synchronise_webhooks_job.rb
|
287
287
|
- app/models/disco_app/concerns/plan.rb
|
288
288
|
- app/models/disco_app/concerns/shop.rb
|
@@ -333,7 +333,7 @@ files:
|
|
333
333
|
- lib/generators/disco_app/templates/initializers/shopify_session_repository.rb
|
334
334
|
- lib/generators/disco_app/templates/root/Procfile
|
335
335
|
- lib/generators/disco_app/templates/views/home/index.html.erb
|
336
|
-
- lib/tasks/
|
336
|
+
- lib/tasks/carrier_service.rake
|
337
337
|
- lib/tasks/start.rake
|
338
338
|
- lib/tasks/webhooks.rake
|
339
339
|
- test/controllers/disco_app/install_controller_test.rb
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module DiscoApp::Concerns::SynchroniseCarrierServicesJob
|
2
|
-
extend ActiveSupport::Concern
|
3
|
-
|
4
|
-
# Ensure the carrier services registered with our shop are the same as those
|
5
|
-
# listed in our application configuration.
|
6
|
-
def perform(shopify_domain)
|
7
|
-
# Registered any carrier services that haven't been registered yet.
|
8
|
-
(callback_urls - current_callback_urls).each do |callback_url|
|
9
|
-
ShopifyAPI::CarrierService.create(
|
10
|
-
name: carrier_service_name,
|
11
|
-
callback_url: callback_url,
|
12
|
-
service_discovery: true,
|
13
|
-
format: 'json'
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
# Remove any extraneous carrier services.
|
18
|
-
current_carrier_services.each do |carrier_service|
|
19
|
-
unless callback_urls.include?(carrier_service.callback_url)
|
20
|
-
carrier_service.delete
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
protected
|
26
|
-
|
27
|
-
def carrier_service_name
|
28
|
-
Rails.application.config.x.shopify_app_name
|
29
|
-
end
|
30
|
-
|
31
|
-
def callback_urls
|
32
|
-
[]
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
# Return a list of currently registered callback URLs.
|
38
|
-
def current_callback_urls
|
39
|
-
current_carrier_services.map(&:callback_url)
|
40
|
-
end
|
41
|
-
|
42
|
-
# Return a list of currently registered carrier services.
|
43
|
-
def current_carrier_services
|
44
|
-
@current_carrier_service ||= ShopifyAPI::CarrierService.find(:all)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
namespace :carrier_services do
|
2
|
-
|
3
|
-
desc 'Synchronise carrier services across all installed shops.'
|
4
|
-
task sync: :environment do
|
5
|
-
DiscoApp::Shop.installed.has_active_shopify_plan.each do |shop|
|
6
|
-
DiscoApp::SynchroniseCarrierServicesJob.perform_later(shop.shopify_domain)
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
end
|