disco_app 0.9.6 → 0.9.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/synchronise_resources_job.rb +12 -0
- data/app/jobs/disco_app/synchronise_resources_job.rb +3 -0
- data/app/models/disco_app/concerns/synchronises.rb +11 -0
- data/app/models/disco_app/concerns/taggable.rb +16 -0
- data/lib/disco_app/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2373fa9e2e7941ce1844f9a39013d2b8d776d14286e72bed6df579f106f6e9a
|
4
|
+
data.tar.gz: 6c81ea01b83d76672f51351ac3ce48b306544b4009105fa00ab9221725c1146e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1372f63725960c73e1b04f175a391c3c231c2fbb51ccdf2d8ad378bf95f3e276d7ad6b5395d2e2ae48a4c84bddf6bb0acfbe8ffb28fe4fe46e203554e172ca65
|
7
|
+
data.tar.gz: d3903b077abe35f53643bfde624d7448d64775b1e84bb4ec80f7f940b5aaba093670f0104b4623091a3a3b5a9654d648da42053dd59ccec5f9ea5a609b6edc46
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module DiscoApp::Concerns::SynchroniseResourcesJob
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
def perform(shop, class_name, params)
|
5
|
+
klass = class_name.constantize
|
6
|
+
|
7
|
+
klass::SHOPIFY_API_CLASS.find(:all, params: params).map do |shopify_resource|
|
8
|
+
klass.synchronise(@shop, shopify_resource.serializable_hash)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -3,6 +3,9 @@ module DiscoApp::Concerns::Synchronises
|
|
3
3
|
|
4
4
|
class_methods do
|
5
5
|
|
6
|
+
# Define the number of resources per page to fetch.
|
7
|
+
SYNCHRONISES_PAGE_LIMIT = 250
|
8
|
+
|
6
9
|
def should_synchronise?(shop, data)
|
7
10
|
true
|
8
11
|
end
|
@@ -34,6 +37,14 @@ module DiscoApp::Concerns::Synchronises
|
|
34
37
|
self.destroy_all(shop: shop, id: data[:id])
|
35
38
|
end
|
36
39
|
|
40
|
+
def synchronise_all(shop, params = {})
|
41
|
+
resource_count = shop.temp { self::SHOPIFY_API_CLASS.count(params) }
|
42
|
+
|
43
|
+
(1..(resource_count / SYNCHRONISES_PAGE_LIMIT.to_f).ceil).each do |page|
|
44
|
+
DiscoApp::SynchroniseResourcesJob.perform_later(shop, self.name, params.merge(page: page, limit: SYNCHRONISES_PAGE_LIMIT))
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
37
48
|
end
|
38
49
|
|
39
50
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module DiscoApp::Concerns::Taggable
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
def tags
|
5
|
+
data['tags'].split(',').map(&:strip)
|
6
|
+
end
|
7
|
+
|
8
|
+
def add_tag(tag)
|
9
|
+
data['tags'] = (tags + [tag]).uniq.join(',')
|
10
|
+
end
|
11
|
+
|
12
|
+
def remove_tag(tag)
|
13
|
+
data['tags'] = (tags - [tag]).uniq.join(',')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
data/lib/disco_app/version.rb
CHANGED
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.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Ballard
|
@@ -428,12 +428,14 @@ files:
|
|
428
428
|
- app/jobs/disco_app/concerns/shop_update_job.rb
|
429
429
|
- app/jobs/disco_app/concerns/subscription_changed_job.rb
|
430
430
|
- app/jobs/disco_app/concerns/synchronise_carrier_service_job.rb
|
431
|
+
- app/jobs/disco_app/concerns/synchronise_resources_job.rb
|
431
432
|
- app/jobs/disco_app/concerns/synchronise_webhooks_job.rb
|
432
433
|
- app/jobs/disco_app/render_asset_group_job.rb
|
433
434
|
- app/jobs/disco_app/shop_job.rb
|
434
435
|
- app/jobs/disco_app/shop_update_job.rb
|
435
436
|
- app/jobs/disco_app/subscription_changed_job.rb
|
436
437
|
- app/jobs/disco_app/synchronise_carrier_service_job.rb
|
438
|
+
- app/jobs/disco_app/synchronise_resources_job.rb
|
437
439
|
- app/jobs/disco_app/synchronise_webhooks_job.rb
|
438
440
|
- app/models/disco_app/app_settings.rb
|
439
441
|
- app/models/disco_app/application_charge.rb
|
@@ -444,6 +446,7 @@ files:
|
|
444
446
|
- app/models/disco_app/concerns/shop.rb
|
445
447
|
- app/models/disco_app/concerns/subscription.rb
|
446
448
|
- app/models/disco_app/concerns/synchronises.rb
|
449
|
+
- app/models/disco_app/concerns/taggable.rb
|
447
450
|
- app/models/disco_app/plan.rb
|
448
451
|
- app/models/disco_app/plan_code.rb
|
449
452
|
- app/models/disco_app/recurring_application_charge.rb
|