apidae 1.0.0 → 1.0.2
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 +4 -4
- data/app/models/apidae/apidae_data_parser.rb +24 -2
- data/app/models/apidae/obj.rb +14 -2
- data/config/locales/apidae.fr.yml +18 -1
- data/lib/apidae/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 825f592628dd0818de54c1fce82fa36b7b97140b
|
4
|
+
data.tar.gz: f857a1e30e89a720ab025d2171915e203638fa36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c242aa6b115d15716e01db251b30ccb8d76dcdd1a1c118691a090ed3a151742d3ea02d43d39f1bef71855a300e3ee0f736d2fa3bd4cc9aa1d77da9cf7511b13b
|
7
|
+
data.tar.gz: e34650ebe27509274682fa4e968f7d12d1f3f3577cdc5183e0c464595dc65c86ace66f323b21a774a4045a177ac4ac3ca21d225ae6a85bb9941641f442a1a0da
|
@@ -1,8 +1,14 @@
|
|
1
1
|
module Apidae
|
2
2
|
class ApidaeDataParser
|
3
3
|
PHONE = 201
|
4
|
+
ALT_PHONE = 206
|
4
5
|
EMAIL = 204
|
5
6
|
WEBSITE = 205
|
7
|
+
GOOGLE = 3789
|
8
|
+
FACEBOOK = 207
|
9
|
+
TWITTER = 3755
|
10
|
+
YELP = 4007
|
11
|
+
TRIP_ADVISOR = 4000
|
6
12
|
|
7
13
|
MODE_AUTO = 'auto'
|
8
14
|
MODE_MANUAL = 'manual'
|
@@ -142,7 +148,7 @@ module Apidae
|
|
142
148
|
contact_entries = information_hash[:moyensCommunication] || []
|
143
149
|
contact_entries.each do |c|
|
144
150
|
case c[:type][:id]
|
145
|
-
when PHONE
|
151
|
+
when PHONE, ALT_PHONE
|
146
152
|
contact_details[:telephone] ||= []
|
147
153
|
contact_details[:telephone] << c[:coordonnees][:fr]
|
148
154
|
when EMAIL
|
@@ -151,6 +157,21 @@ module Apidae
|
|
151
157
|
when WEBSITE
|
152
158
|
contact_details[:website] ||= []
|
153
159
|
contact_details[:website] << c[:coordonnees][:fr]
|
160
|
+
when GOOGLE
|
161
|
+
contact_details[:google] ||= []
|
162
|
+
contact_details[:google] << c[:coordonnees][:fr]
|
163
|
+
when FACEBOOK
|
164
|
+
contact_details[:facebook] ||= []
|
165
|
+
contact_details[:facebook] << c[:coordonnees][:fr]
|
166
|
+
when TWITTER
|
167
|
+
contact_details[:twitter] ||= []
|
168
|
+
contact_details[:twitter] << c[:coordonnees][:fr]
|
169
|
+
when YELP
|
170
|
+
contact_details[:yelp] ||= []
|
171
|
+
contact_details[:yelp] << c[:coordonnees][:fr]
|
172
|
+
when TRIP_ADVISOR
|
173
|
+
contact_details[:trip_advisor] ||= []
|
174
|
+
contact_details[:trip_advisor] << c[:coordonnees][:fr]
|
154
175
|
else
|
155
176
|
end
|
156
177
|
end
|
@@ -229,7 +250,8 @@ module Apidae
|
|
229
250
|
track: apidae_obj.apidae_type == Obj::EQU ? data_hash[:itineraire] : nil,
|
230
251
|
products: lists_ids(data_hash[:typesProduit], data_hash[:aopAocIgps], data_hash[:specialites]),
|
231
252
|
audience: lists_ids(prestations_hash[:typesClientele]),
|
232
|
-
animals: prestations_hash[:animauxAcceptes] == 'ACCEPTES',
|
253
|
+
animals: {allowed: prestations_hash[:animauxAcceptes] == 'ACCEPTES', desc: node_value(prestations_hash, :descriptifAnimauxAcceptes, *locales),
|
254
|
+
fee: prestations_hash[:animauxAcceptesSupplement] == 'AVEC_SUPPLEMENT'},
|
233
255
|
extra: apidae_obj.apidae_type == Obj::SPA ? node_value(data_hash, :formuleHebergement, *locales) : node_value(prestations_hash, :complementAccueil, *locales),
|
234
256
|
duration: apidae_obj.apidae_type == Obj::SPA ? {days: data_hash[:nombreJours], nights: data_hash[:nombreNuits]} : data_hash[:dureeSeance],
|
235
257
|
certifications: data_hash[:agrements].blank? ? [] : data_hash[:agrements].map {|a| {id: a[:type][:id], identifier: a[:numero]}},
|
data/app/models/apidae/obj.rb
CHANGED
@@ -14,9 +14,9 @@ module Apidae
|
|
14
14
|
store_accessor :pictures_data, :pictures
|
15
15
|
store_accessor :attachments_data, :attachments
|
16
16
|
store_accessor :type_data, :categories, :themes, :capacity, :classification, :labels, :chains, :area, :track,
|
17
|
-
:products, :audience, :animals, :extra, :duration, :certifications, :business
|
17
|
+
:products, :audience, :animals, :animals_desc, :extra, :duration, :certifications, :business
|
18
18
|
store_accessor :entity_data, :entity_id, :entity_name, :service_provider_id
|
19
|
-
store_accessor :contact_data, :telephone, :email, :website, :contacts
|
19
|
+
store_accessor :contact_data, :telephone, :email, :website, :google, :facebook, :twitter, :yelp, :trip_advisor, :contacts
|
20
20
|
store_accessor :location_data, :address, :place, :latitude, :longitude, :access, :territories, :environments
|
21
21
|
store_accessor :openings_data, :openings_desc, :openings_desc_mode, :openings, :time_periods
|
22
22
|
store_accessor :rates_data, :rates_desc, :rates_desc_mode, :rates, :payment_methods, :includes, :excludes
|
@@ -122,6 +122,18 @@ module Apidae
|
|
122
122
|
self
|
123
123
|
end
|
124
124
|
|
125
|
+
def dig(*keys)
|
126
|
+
root_key, *nested_keys = keys
|
127
|
+
root_val = self.send(root_key)
|
128
|
+
if root_val.blank?
|
129
|
+
nested_keys.blank? ? root_val : nil
|
130
|
+
elsif root_val.respond_to?(:dig)
|
131
|
+
root_val.dig(*nested_keys)
|
132
|
+
else
|
133
|
+
raise ArgumentError.new('Cannot call dig with these args')
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
125
137
|
def self.default_scope
|
126
138
|
where(root_obj_id: nil)
|
127
139
|
end
|
@@ -39,4 +39,21 @@ fr:
|
|
39
39
|
HANDICAP: Handicap
|
40
40
|
TOURISME_AFFAIRES: Affaires
|
41
41
|
GROUPES: Groupes
|
42
|
-
PRESTATAIRE_ACTIVITES: Prestataire d'activités
|
42
|
+
PRESTATAIRE_ACTIVITES: Prestataire d'activités
|
43
|
+
types:
|
44
|
+
ACTIVITE: Activités
|
45
|
+
COMMERCE_ET_SERVICE: Commerces et services
|
46
|
+
DEGUSTATION: Producteurs
|
47
|
+
DOMAINE_SKIABLE: Domaines skiables
|
48
|
+
EQUIPEMENT: Équipements
|
49
|
+
FETE_ET_MANIFESTATION: Fêtes et manifestations
|
50
|
+
HEBERGEMENT_COLLECTIF: Hébergements collectifs
|
51
|
+
HEBERGEMENT_LOCATIF: Hébergements locatifs
|
52
|
+
HOTELLERIE: Hôtellerie
|
53
|
+
HOTELLERIE_PLEIN_AIR: Hôtellerie de plein air
|
54
|
+
PATRIMOINE_CULTUREL: Patrimoine culturel
|
55
|
+
PATRIMOINE_NATUREL: Patrimoine naturel
|
56
|
+
RESTAURATION: Restauration
|
57
|
+
SEJOUR_PACKAGE: Séjour et produits packagés
|
58
|
+
STRUCTURE: Entité juridique
|
59
|
+
TERRITOIRE: Territoire
|
data/lib/apidae/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apidae
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean-Baptiste Vilain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-05-
|
11
|
+
date: 2020-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.5'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '2.5'
|
69
69
|
description: To be completed
|
70
70
|
email:
|
71
71
|
- jbvilain@gmail.com
|