disco_app 0.9.6 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|