apidae 1.4.2 → 1.4.4

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: d92dc099fdc8a2db216b64bc67748b47389b1288acbbe022bba48939fd3d1f38
4
- data.tar.gz: 7b2b5197ccedd323f884d3bde5b160c37d1a059a3ab0e75c2938a0e31939bd71
3
+ metadata.gz: b92a9500f041a825be642e53f3bc1497e6f3448d40a31185485fc0cc313d34a8
4
+ data.tar.gz: 4fa5733460999f4c3a9558f35b3caf5ba94cbc5a0cf82fd4c83a953a25355001
5
5
  SHA512:
6
- metadata.gz: 8becb5d521d51399edb4ff5dbd51ecc5e30ee6bce5469ecb1fcdce4866bea774e88e62f34b8a8582c174cbe3cf5fb36b03f63a2d7655a8d03896f19b550ed7bb
7
- data.tar.gz: 5f021e8d243e7ccedbcdf7e08a872bda1ae7ce0c5b65ad6601e0413490847ae369de2666f9470f8f5d4ec244511a6eb3b2595481feeb4581090458a1c14dfd5a
6
+ metadata.gz: 7ff90b90ff0153f945b54382af7792be8ae9096b9c6e7fb4e345d15f5c044f0cf695d00ce9ea6c6716d576a4c2485387cd65e43a6718431d068e29309506aea7
7
+ data.tar.gz: 84fac7d1042a47b33fe67a27eb19ad856b1896f03704b763f8da740f482cabb7a21413249361fe4908de36a1f5d3ff34c6751d31b91510f9dca8f762afa1983c
@@ -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
@@ -261,7 +262,7 @@ module Apidae
261
262
  values = rates_hash[:periodes].blank? ? [] : rates_hash[:periodes].map {|p| build_rate(p, *locales)}
262
263
  methods = rates_hash[:modesPaiement].blank? ? [] : rates_hash[:modesPaiement].map {|p| p[:id]}
263
264
  {
264
- rates_desc: desc, rates: values, payment_methods: methods,
265
+ rates_desc: desc, rates: values, rates_category: rates_hash[:indicationTarif], payment_methods: methods,
265
266
  tax_included: rates_hash[:taxeDeSejourIncluse].blank? ? nil : (rates_hash[:taxeDeSejourIncluse] == 'OUI'),
266
267
  rates_desc_mode: rates_hash[:tarifsEnClairGenerationMode] == 'AUTOMATIQUE' ? MODE_AUTO : MODE_MANUAL,
267
268
  includes: node_value(rates_hash, :leTarifComprend, *locales),
@@ -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]
@@ -12,19 +12,20 @@ module Apidae
12
12
 
13
13
  store_accessor :title_data, :title
14
14
  store_accessor :owner_data, :owner_name, :owner_id, :polls
15
- 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
16
16
  store_accessor :pictures_data, :pictures
17
17
  store_accessor :attachments_data, :attachments
18
18
  store_accessor :type_data, :categories, :themes, :capacity, :classification, :classification_date,
19
19
  :classification_ref, :labels, :chains, :area, :track, :tricky_sections, :products, :audience, :animals,
20
20
  :animals_desc, :extra, :duration, :certifications, :business, :business_equipments, :business_rooms
21
- 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
22
22
  store_accessor :contact_data, :telephone, :email, :website, :google, :facebook, :twitter, :yelp, :trip_advisor, :fax,
23
23
  :mobile_website, :shorty_url, :contacts
24
24
  store_accessor :location_data, :address, :place, :latitude, :longitude, :access, :territories, :environments, :altitude, :map_reference
25
25
  store_accessor :openings_data, :openings_desc, :openings_desc_mode, :openings, :time_periods, :openings_extra, :opening_days
26
- store_accessor :rates_data, :rates_desc, :rates_desc_mode, :rates, :payment_methods, :includes, :excludes, :rates_extra, :tax_included
27
- store_accessor :service_data, :services, :equipments, :comfort, :activities, :challenged, :languages
26
+ store_accessor :rates_data, :rates_desc, :rates_desc_mode, :rates, :rates_category, :payment_methods, :includes, :excludes,
27
+ :rates_extra, :tax_included
28
+ store_accessor :service_data, :services, :equipments, :comfort, :activities, :challenged, :languages, :documentation_languages
28
29
  store_accessor :booking_data, :booking_desc, :booking_entities, :visits_allowed, :visits_desc, :visits_duration, :visits_services
29
30
  store_accessor :tags_data, :promo, :internal, :linked
30
31
  store_accessor :version_data, :versioned_fields
@@ -235,7 +236,7 @@ module Apidae
235
236
  apidae_obj.apidae_type = object_data[:type]
236
237
  apidae_obj.apidae_subtype = ApidaeDataParser.node_id(object_data[type_fields[:node]], type_fields[:subtype])
237
238
  apidae_obj.title_data = ApidaeDataParser.parse_title(object_data, *locales)
238
- apidae_obj.description_data = ApidaeDataParser.parse_desc_data(object_data[:presentation], object_data[:donneesPrivees], *locales)
239
+ apidae_obj.description_data = ApidaeDataParser.parse_desc_data(object_data[:presentation], object_data[:donneesPrivees], object_data[:prestations], *locales)
239
240
  apidae_obj.contact_data = ApidaeDataParser.parse_contact_data(object_data[:informations], object_data[:contacts])
240
241
  apidae_obj.location_data = ApidaeDataParser.parse_location_data(object_data[:localisation], object_data[type_fields[:node]],
241
242
  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.2"
2
+ VERSION = "1.4.4"
3
3
  end