spatial_features 1.3.4 → 1.3.5

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: 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