spatial_features 1.3.4 → 1.3.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6d0f42760d9c4ab52f26a23e324a0f20944a8b93
4
- data.tar.gz: 37a0903b8c114cbf16a9af5417e8fab68b357df7
3
+ metadata.gz: e0185dc6f36f9a140099521ea658507a7a787c0f
4
+ data.tar.gz: ed739d4d19ad60d38086ced1588bccf072c14ebf
5
5
  SHA512:
6
- metadata.gz: d88534ca90a6252ff84ba3f01f3b10c0807ef90e8f1f2303b54f4ff43005ee23ba2dcba69b49df9b581e45fd8044cb71228b93a6f9ad9ecadedd21a24906f564
7
- data.tar.gz: 4e00ff7f7325893dde4829824dcb5751a98878f40c06f3fd4e44fc1fb514e48523547eb9b14bfb83a74366cfb244e8c8c8bac25de302755e0a907586c659d05a
6
+ metadata.gz: 1b3a240c8a306fcde5641b0266a250711a68d7897c9b233dde611705c50ccfc7c4087c0c6bbc011cc7e55f4273c0edb3e9daafe537225716a91a499e8e4feb18
7
+ data.tar.gz: 83a0f93960f0db42a09d31b69fd776c0573577d94e3275b6da0a32c4ef7a67c272173f572cdf55db0c691d6104daeba12a594ff9d249a1e65bd947f64429c4bf
@@ -3,19 +3,8 @@ module SpatialExtensions
3
3
 
4
4
  def abstract_refresh_geometry_action(models, cache_classes)
5
5
  Array.wrap(models).each do |model|
6
- queue = "#{model.class}/#{model.id}/update_features"
7
-
8
- # Destroy old failed jobs
9
- Delayed::Job.where(:queue => queue).where.not(:failed_at => nil).destroy_all
10
-
11
- Delayed::Job.enqueue(
12
- ArcGISUpdateFeaturesJob.new(
13
- :spatial_model_type => model.class,
14
- :spatial_model_id => model.id,
15
- :cache_classes => cache_classes
16
- ),
17
- :queue => queue
18
- )
6
+ model.failed_feature_update_jobs.destroy_all
7
+ model.queue_feature_update!(:cache_classes => cache_classes)
19
8
  end
20
9
 
21
10
  redirect_to :back
@@ -30,16 +30,36 @@ module ArcGISKmzFeatures
30
30
  return true
31
31
  end
32
32
 
33
+ def queue_feature_update!(options = {})
34
+ Delayed::Job.enqueue ArcGISUpdateFeaturesJob.new(options.merge :spatial_model_type => self.class, :spatial_model_id => self.id), :queue => delayed_jobs_queue_name
35
+ end
36
+
33
37
  def updating_features?
34
- Delayed::Job.where(queue: "#{self.class}/#{self.id}/update_features", failed_at: nil).exists?
38
+ running_feature_update_jobs.exists?
35
39
  end
36
40
 
37
41
  def feature_update_error
38
- (Delayed::Job.where(queue: "#{self.class}/#{self.id}/update_features").where.not(failed_at: nil).first.try(:last_error) || '').split("\n").first
42
+ (failed_feature_update_jobs.first.try(:last_error) || '').split("\n").first
43
+ end
44
+
45
+ def running_feature_update_jobs
46
+ feature_update_jobs.where(failed_at: nil)
47
+ end
48
+
49
+ def failed_feature_update_jobs
50
+ feature_update_jobs.where.not(failed_at: nil)
51
+ end
52
+
53
+ def feature_update_jobs
54
+ Delayed::Job.where(queue: delayed_jobs_queue_name)
39
55
  end
40
56
 
41
57
  private
42
58
 
59
+ def delayed_jobs_queue_name
60
+ "#{self.class}/#{self.id}/update_features"
61
+ end
62
+
43
63
  def replace_features(kml_array)
44
64
  new_features = []
45
65
  kml_array.each {|kml| new_features.concat build_features(kml) }
@@ -1,3 +1,3 @@
1
1
  module SpatialFeatures
2
- VERSION = "1.3.4"
2
+ VERSION = "1.3.5"
3
3
  end
@@ -3,7 +3,7 @@ class ArcGISUpdateFeaturesJob < Struct.new(:options)
3
3
  model = options[:spatial_model_type].find(options[:spatial_model_id])
4
4
 
5
5
  if model.update_features!
6
- options[:cache_classes].each {|klass| SpatialFeatures.cache_record_proximity(model, klass) }
6
+ Array(options[:cache_classes]).each {|klass| SpatialFeatures.cache_record_proximity(model, klass) }
7
7
  after_feature_update(model)
8
8
  end
9
9
  rescue => e
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spatial_features
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Wallace
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-06-17 00:00:00.000000000 Z
12
+ date: 2015-07-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails