apidae 1.4.1 → 1.4.3

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
  SHA256:
3
- metadata.gz: 7426138fffb907d9917ac5d115a954002023efcc6a2ccbe0d6e27a0ca5f4e85d
4
- data.tar.gz: d4716809c8a3bb226d8cf538a23c07e2e926a65b1d396911f680cef4dba8cc3f
3
+ metadata.gz: aabfe9be4d2de7c87baa00f3234faf20fe31ab8125f6163acf65e0aa772e1dbc
4
+ data.tar.gz: fb0e940576b5b979ed5ae0dd5fba63c24578c8293152372e8f0dfa67d195588b
5
5
  SHA512:
6
- metadata.gz: a0e49d2d72be1d4f9f0036ca7da7138fb778af340a363b97b2a027062d166dfdf88dc7bc9db9ba83b4b66a186290d157767592552eb889f42c4ba8b5a4b0671d
7
- data.tar.gz: 44d1a75ac8f9a9a14d3bc54ab31a9b9fdb1bef8bfa35f9edb7d2c19891e1637e89ed6e6f10bd1fd3131966293de66c788508988b1ac3b46cb71017dd3235bb37
6
+ metadata.gz: fc81a47d8e6165241e0449217e116e1d9f22e39c4e403ba377950bc8d527631abe593ab2be49ef589d1f8dbca41430606c890722020bb525a364dcaa3642f9a3
7
+ data.tar.gz: fbd8e4c42aec95838f8a65c6d88a73f07f82082910d42fbbf71068678adb51cccc1d6caf61e9e1bded5424d965ade31c46ec49bbe6eb1d649fc0227bd12fe06f
@@ -112,13 +112,14 @@ module Apidae
112
112
  owner_data
113
113
  end
114
114
 
115
- def self.parse_desc_data(data_hash, private_data, *locales)
115
+ def self.parse_desc_data(data_hash, private_data, presta_data, *locales)
116
116
  unless data_hash.blank?
117
117
  {
118
118
  short_desc: node_value(data_hash, :descriptifCourt, *locales),
119
119
  long_desc: node_value(data_hash, :descriptifDetaille, *locales),
120
120
  theme_desc: data_hash[:descriptifsThematises].blank? ? {} : Hash[data_hash[:descriptifsThematises].map {|th| [node_id(th, :theme), node_value(th, :description, *locales)]}],
121
- private_desc: private_data.blank? ? {} : Hash[private_data.map {|d| [d[:nomTechnique], (node_value(d, :descriptif, *locales).blank? ? {LOCALE_FR => d[:libelleFr]} : node_value(d, :descriptif, *locales))]}]
121
+ private_desc: private_data.blank? ? {} : Hash[private_data.map {|d| [d[:nomTechnique], (node_value(d, :descriptif, *locales).blank? ? {LOCALE_FR => d[:libelleFr]} : node_value(d, :descriptif, *locales))]}],
122
+ accessibility_desc: presta_data.blank? ? {} : Hash[presta_data.select {|k, v| k.to_s.start_with?('descriptifHandicap')}.map {|k, v| [k, node_value(presta_data, k, *locales)]}]
122
123
  }
123
124
  end
124
125
  end
@@ -138,7 +139,7 @@ module Apidae
138
139
  description: localized_value(pic, :legende, locale),
139
140
  credits: localized_value(pic, :copyright, locale),
140
141
  expiration_date: pic[:dateLimiteDePublication] || '',
141
- properties: {size: pic_file[:taille], width: pic_file[:largeur], height: pic_file[:height]}
142
+ properties: {size: pic_file[:taille], width: pic_file[:largeur], height: pic_file[:hauteur]}
142
143
  }
143
144
  end
144
145
  end
@@ -282,7 +283,8 @@ module Apidae
282
283
  themes: lists_ids(data_hash[:themes]),
283
284
  capacity: (data_hash[:capacite] || {})
284
285
  .merge(presta_hash ? {group_min: presta_hash[:tailleGroupeMin], group_max: presta_hash[:tailleGroupeMax],
285
- age_min: presta_hash[:ageMin], age_max: presta_hash[:ageMax]} : {}),
286
+ age_min: presta_hash[:ageMin], age_max: presta_hash[:ageMax],
287
+ wheelchair_max: presta_hash[:nombrePersonnesEnFauteuilRoulantAccueilliesSimultanement]} : {}),
286
288
  classification: nodes_ids(data_hash[:classement], data_hash[:classementPrefectoral], data_hash[:classification]) +
287
289
  lists_ids(data_hash[:classementsGuides]) + lists_ids(data_hash[:classements]),
288
290
  classification_date: data_hash[:dateClassement],
@@ -317,7 +319,8 @@ module Apidae
317
319
  type_data_hash ? type_data_hash[:activitesSportives] : [],
318
320
  type_data_hash ? type_data_hash[:activitesCulturelles] : []),
319
321
  challenged: lists_ids(data_hash[:tourismesAdaptes]),
320
- languages: lists_ids(data_hash[:languesParlees])
322
+ languages: lists_ids(data_hash[:languesParlees]),
323
+ documentation_languages: lists_ids(data_hash[:languesDocumentation])
321
324
  }
322
325
  end
323
326
  end
@@ -365,7 +368,10 @@ module Apidae
365
368
  entity_hash = {}
366
369
  if information_hash
367
370
  if information_hash[:structureGestion]
368
- entity_hash.merge!({entity_id: information_hash[:structureGestion][:id], service_provider_id: node_id(type_data_hash, :prestataireActivites)})
371
+ entity_hash.merge!({entity_id: information_hash[:structureGestion][:id], entity_name: information_hash[:structureGestion].dig(:nom, :libelleFr),
372
+ info_entity_id: (information_hash[:structureInformation] || information_hash[:structureGestion])[:id],
373
+ info_entity_name: (information_hash[:structureInformation] || information_hash[:structureGestion]).dig(:nom, :libelleFr),
374
+ service_provider_id: node_id(type_data_hash, :prestataireActivites)})
369
375
  end
370
376
 
371
377
  if information_hash[:informationsLegales]
@@ -8,22 +8,23 @@ module Apidae
8
8
  attr_accessor :locale
9
9
  attr_accessor :obj_version
10
10
  attr_accessor :obj_versions
11
+ attr_accessor :skip_archiving
11
12
 
12
13
  store_accessor :title_data, :title
13
14
  store_accessor :owner_data, :owner_name, :owner_id, :polls
14
- store_accessor :description_data, :short_desc, :long_desc, :theme_desc, :private_desc
15
+ store_accessor :description_data, :short_desc, :long_desc, :theme_desc, :private_desc, :accessibility_desc
15
16
  store_accessor :pictures_data, :pictures
16
17
  store_accessor :attachments_data, :attachments
17
18
  store_accessor :type_data, :categories, :themes, :capacity, :classification, :classification_date,
18
19
  :classification_ref, :labels, :chains, :area, :track, :tricky_sections, :products, :audience, :animals,
19
20
  :animals_desc, :extra, :duration, :certifications, :business, :business_equipments, :business_rooms
20
- store_accessor :entity_data, :entity_id, :entity_name, :service_provider_id, :is_service_provider, :legal
21
+ store_accessor :entity_data, :entity_id, :entity_name, :info_entity_id, :info_entity_name, :service_provider_id, :is_service_provider, :legal
21
22
  store_accessor :contact_data, :telephone, :email, :website, :google, :facebook, :twitter, :yelp, :trip_advisor, :fax,
22
23
  :mobile_website, :shorty_url, :contacts
23
24
  store_accessor :location_data, :address, :place, :latitude, :longitude, :access, :territories, :environments, :altitude, :map_reference
24
25
  store_accessor :openings_data, :openings_desc, :openings_desc_mode, :openings, :time_periods, :openings_extra, :opening_days
25
26
  store_accessor :rates_data, :rates_desc, :rates_desc_mode, :rates, :payment_methods, :includes, :excludes, :rates_extra, :tax_included
26
- store_accessor :service_data, :services, :equipments, :comfort, :activities, :challenged, :languages
27
+ store_accessor :service_data, :services, :equipments, :comfort, :activities, :challenged, :languages, :documentation_languages
27
28
  store_accessor :booking_data, :booking_desc, :booking_entities, :visits_allowed, :visits_desc, :visits_duration, :visits_services
28
29
  store_accessor :tags_data, :promo, :internal, :linked
29
30
  store_accessor :version_data, :versioned_fields
@@ -152,7 +153,7 @@ module Apidae
152
153
  self.prev_data ||= {}
153
154
  ignored_root_attributes = ['prev_data', 'updated_at']
154
155
  changed_attributes.each_pair do |attr, prev_value|
155
- unless ignored_root_attributes.include?(attr)
156
+ unless ignored_root_attributes.include?(attr) || skip_archiving
156
157
  if prev_value.is_a?(Hash)
157
158
  archive_hash_value(prev_value)
158
159
  else
@@ -234,7 +235,7 @@ module Apidae
234
235
  apidae_obj.apidae_type = object_data[:type]
235
236
  apidae_obj.apidae_subtype = ApidaeDataParser.node_id(object_data[type_fields[:node]], type_fields[:subtype])
236
237
  apidae_obj.title_data = ApidaeDataParser.parse_title(object_data, *locales)
237
- apidae_obj.description_data = ApidaeDataParser.parse_desc_data(object_data[:presentation], object_data[:donneesPrivees], *locales)
238
+ apidae_obj.description_data = ApidaeDataParser.parse_desc_data(object_data[:presentation], object_data[:donneesPrivees], object_data[:prestations], *locales)
238
239
  apidae_obj.contact_data = ApidaeDataParser.parse_contact_data(object_data[:informations], object_data[:contacts])
239
240
  apidae_obj.location_data = ApidaeDataParser.parse_location_data(object_data[:localisation], object_data[type_fields[:node]],
240
241
  object_data[:territoires])
@@ -25,9 +25,9 @@ module Apidae
25
25
  ALL_VERSIONS = [STANDARD_VERSION, WINTER_VERSION, SUMMER_VERSION, CHALLENGED_VERSION, BUSINESS_VERSION,
26
26
  GROUPS_VERSION, ACTIVITIES_VERSION]
27
27
 
28
- LOCALIZED_FIELDS = [:title, :short_desc, :long_desc, :pictures, :attachments, :openings_desc, :rates_desc,
29
- :includes, :excludes, :extra, :booking_desc]
30
- ALL_FIELDS = LOCALIZED_FIELDS + [:theme_desc, :private_desc, :capacity, :telephone, :email, :website,
28
+ LOCALIZED_FIELDS = [:title, :short_desc, :long_desc, :pictures, :attachments,
29
+ :openings_desc, :rates_desc, :includes, :excludes, :extra, :booking_desc]
30
+ ALL_FIELDS = LOCALIZED_FIELDS + [:theme_desc, :private_desc, :accessibility_desc, :capacity, :telephone, :email, :website,
31
31
  :google, :facebook, :twitter, :yelp, :trip_advisor, :fax, :mobile_website, :shorty_url,
32
32
  :openings, :openings_extra, :rates, :services, :payment_methods, :categories, :themes,
33
33
  :labels, :chains, :classification, :challenged, :environments, :languages, :products,
@@ -1,3 +1,3 @@
1
1
  module Apidae
2
- VERSION = "1.4.1"
2
+ VERSION = "1.4.3"
3
3
  end