apidae 1.3.13 → 1.3.14

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
  SHA256:
3
- metadata.gz: bf56887dfb66e43d40e27502ee04927cc5464aec4d0338fe047f35572ed08e55
4
- data.tar.gz: 25bd439610b4315b8cdcd6ecc3d9050b7f2572ff805dae27e1baaf964e861841
3
+ metadata.gz: 8b0a75e107222c0e4c95387eb3f11641bfa62796c499c46915366a7035b8c685
4
+ data.tar.gz: 567423739b0f9f87341111fe33b6e2260465d47583ab282fef0234b1f5e79cf7
5
5
  SHA512:
6
- metadata.gz: e42811c794c15006dad38b8f6809d197d1d2c749b86a3cdbe4609a8213783c5fc725d8231c94a70ddff458b014b883225043f105d07b2d72824927ea9d000377
7
- data.tar.gz: df8b7b6dddcfbe31746fc1a36ab807de31832f008790b168176431a33cfc85cfa9de0ef29ce0714445c3df57af927fce4228d8871acdd1c1f8b421f42b793d6d
6
+ metadata.gz: 49b000ca4218681cabfa00dea2ec31c28fe4d0cd9fb7147a1ca23f411e1c659caf711a229c736c6c4971d0827411d9682b90aea751f4ef297f5f1c241fee9983
7
+ data.tar.gz: 5655202cdbeb55bc7103563933631b082d0827de6b9fab2335630312a3fca1304cfd96ac33c931867338bf4264dc2e9cb6f9dab5fe438d87b20d77936c752759
@@ -12,15 +12,17 @@ module Apidae
12
12
  def self.import(refs_json)
13
13
  locales = Rails.application.config.respond_to?(:apidae_locales) ? Rails.application.config.apidae_locales : [DEFAULT_LOCALE]
14
14
  locales_map = Hash[locales.map {|loc| ["libelle#{loc.camelize.gsub('-', '')}".to_sym, loc]}]
15
- refs_hashes = JSON.parse(refs_json, symbolize_names: true)
16
- if refs_hashes.length != where("apidae_type != ?", INTERNAL).count
17
- refs_hashes.each do |ref_data|
18
- ref = Reference.find_or_initialize_by(apidae_id: ref_data[:id], apidae_type: ref_data[:elementReferenceType])
19
- ref.label_data = ref_data.slice(*locales_map.keys).transform_keys {|k| locales_map[k]}
20
- ref.parent = ref_data[:parent][:id] if ref_data[:parent]
21
- ref.category = ref_data[:familleCritere] ? ref_data[:familleCritere][:id] : (ref_data[:typeLabel] ? ref_data[:typeLabel][:id] : nil)
22
- ref.is_active = ref_data[:actif]
23
- ref.save!
15
+ if count == 0 || Time.current > (maximum(:updated_at) + 1.day)
16
+ refs_hashes = JSON.parse(refs_json, symbolize_names: true)
17
+ if refs_hashes.length != where("apidae_type != ?", INTERNAL).count
18
+ refs_hashes.each do |ref_data|
19
+ ref = Reference.find_or_initialize_by(apidae_id: ref_data[:id], apidae_type: ref_data[:elementReferenceType])
20
+ ref.label_data = ref_data.slice(*locales_map.keys).transform_keys {|k| locales_map[k]}
21
+ ref.parent = ref_data[:parent][:id] if ref_data[:parent]
22
+ ref.category = ref_data[:familleCritere] ? ref_data[:familleCritere][:id] : (ref_data[:typeLabel] ? ref_data[:typeLabel][:id] : nil)
23
+ ref.is_active = ref_data[:actif]
24
+ ref.save!
25
+ end
24
26
  end
25
27
  end
26
28
  end
@@ -1,3 +1,3 @@
1
1
  module Apidae
2
- VERSION = "1.3.13"
2
+ VERSION = "1.3.14"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apidae
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.13
4
+ version: 1.3.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Baptiste Vilain