apidae 0.3.2 → 0.3.3

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: a89823d97fa0f65fa985b4c5868cdcad0ddc4c66
4
- data.tar.gz: 3ea06983a6b4a0e36b5607dce58f5908048153f7
3
+ metadata.gz: 75ec8d84f77ede131aab6a98442f004fe54920a8
4
+ data.tar.gz: 740c16247d3e53be233d802cd26cadc7d14e6896
5
5
  SHA512:
6
- metadata.gz: 4682b5926be504889286583e6a316eb3a7940cccd9aaf91408944a165f33dc1134a1b84548e91e57a7825233784b9e4be4fa30792c66b086001ce64087f09bc3
7
- data.tar.gz: 3812b82094ed52d53eb62a3ba6110fe7a97ef7a680434fd2109e2e072681e6cd090b5b024188e6436b9741da4b1c8806922dd9d5d08b429bb1a77ac36728a143
6
+ metadata.gz: 098cb9aa6df607f6cbd4a527d895006c75c0d4b0aac1ed682c10aca9f7142209df0986680d45fb3de153f0b06ba550172ba0381fd86a437454b32017b27c9f6a
7
+ data.tar.gz: c02948e3b352d5b09fe2ad90df543e2c7aa486bc4e9179949fa66e235284303118839dac06c2d454ca63d48e8d74dd9a0bced19907594aa44def59a98f193cf0
@@ -3,6 +3,7 @@ module Apidae
3
3
 
4
4
  PENDING = 'pending'
5
5
  COMPLETE = 'complete'
6
+ CANCELLED = 'cancelled'
6
7
 
7
8
  # Note : handle reset case
8
9
  def self.pending
@@ -8,14 +8,14 @@ module Apidae
8
8
 
9
9
  store_accessor :pictures_data, :pictures
10
10
  store_accessor :attachments_data, :attachments
11
- store_accessor :type_data, :categories, :themes, :capacity, :classification, :labels, :chains
11
+ store_accessor :type_data, :categories, :themes, :capacity, :classification, :labels, :chains, :area, :track
12
12
  store_accessor :entity_data, :entity_id, :entity_name
13
13
  store_accessor :contact, :telephone, :email, :website
14
- store_accessor :address, :address_fields
14
+ store_accessor :address, :address_fields, :place
15
15
  store_accessor :openings_data, :openings_desc, :openings
16
16
  store_accessor :rates_data, :rates_desc, :rates, :payment_methods
17
17
  store_accessor :service_data, :services, :equipments, :comfort, :activities
18
- store_accessor :tags_data, :tags
18
+ store_accessor :tags_data, :promo, :internal
19
19
 
20
20
  ACT = 'ACTIVITE'
21
21
  COS = 'COMMERCE_ET_SERVICE'
@@ -70,14 +70,14 @@ module Apidae
70
70
  apidae_obj.short_desc = node_value(object_data[:presentation], :descriptifCourt)
71
71
  apidae_obj.long_desc = node_value(object_data[:presentation], :descriptifDetaille)
72
72
  apidae_obj.contact = contact(object_data[:informations])
73
- apidae_obj.address = address(object_data[:localisation][:adresse])
73
+ apidae_obj.address = address(object_data[:localisation][:adresse], object_data[type_fields[:node]])
74
74
  apidae_obj.town = town(object_data[:localisation][:adresse])
75
75
  apidae_obj.latitude = latitude(object_data[:localisation])
76
76
  apidae_obj.longitude = longitude(object_data[:localisation])
77
77
  apidae_obj.openings_data = parse_openings(object_data[:ouverture])
78
78
  apidae_obj.rates_data = parse_rates(object_data[:descriptionTarif])
79
79
  apidae_obj.reservation = parse_reservation(object_data[:reservation])
80
- apidae_obj.type_data = parse_type_data(object_data[type_fields[:node]], object_data[:prestations])
80
+ apidae_obj.type_data = parse_type_data(object_data[:type], object_data[type_fields[:node]], object_data[:prestations])
81
81
  apidae_obj.pictures_data = pictures_urls(object_data[:illustrations])
82
82
  apidae_obj.attachments_data = attachments_urls(object_data[:multimedias])
83
83
  apidae_obj.entity_data = entity_fields(object_data[:informations])
@@ -121,25 +121,28 @@ module Apidae
121
121
  contact_entries.each do |c|
122
122
  case c[:type][:id]
123
123
  when PHONE
124
- contact_details[:telephone] = c[:coordonnees][:fr]
124
+ contact_details[:telephone] ||= []
125
+ contact_details[:telephone] << c[:coordonnees][:fr]
125
126
  when EMAIL
126
- contact_details[:email] = c[:coordonnees][:fr]
127
+ contact_details[:email] ||= []
128
+ contact_details[:email] << c[:coordonnees][:fr]
127
129
  when WEBSITE
128
- contact_details[:website] = c[:coordonnees][:fr]
130
+ contact_details[:website] ||= []
131
+ contact_details[:website] << c[:coordonnees][:fr]
129
132
  else
130
133
  end
131
134
  end
132
135
  contact_details
133
136
  end
134
137
 
135
- def self.address(address_hash)
138
+ def self.address(address_hash, type_data_hash)
136
139
  computed_address = []
137
140
  unless address_hash.blank?
138
141
  computed_address << address_hash[:adresse1] unless address_hash[:adresse1].blank?
139
142
  computed_address << address_hash[:adresse2] unless address_hash[:adresse2].blank?
140
143
  computed_address << address_hash[:adresse3] unless address_hash[:adresse3].blank?
141
144
  end
142
- {address_fields: computed_address}
145
+ {address_fields: computed_address, place: type_data_hash[:nomLieu]}
143
146
  end
144
147
 
145
148
  def self.town(address_hash = {})
@@ -175,15 +178,18 @@ module Apidae
175
178
  end
176
179
  end
177
180
 
178
- def self.parse_type_data(data_hash, prestations_hash)
181
+ def self.parse_type_data(object_type, data_hash, prestations_hash)
179
182
  if data_hash
180
183
  {
181
184
  categories: lists_ids(data_hash[:categories]),
182
185
  themes: lists_ids(data_hash[:themes]),
183
186
  capacity: data_hash[:capacite],
184
- classification: nodes_ids(data_hash[:classement], data_hash[:classementPrefectoral]),
187
+ classification: nodes_ids(data_hash[:classement], data_hash[:classementPrefectoral], data_hash[:classification]) +
188
+ lists_ids(data_hash[:classementsGuides]),
185
189
  labels: lists_ids(data_hash[:labels], prestations_hash[:labelsTourismeHandicap]),
186
- chains: lists_ids(data_hash[:chaines]) + nodes_ids(data_hash[:chaineEtLabel])
190
+ chains: lists_ids(data_hash[:chaines]) + nodes_ids(data_hash[:chaineEtLabel]),
191
+ area: object_type == DOS ? data_hash.except(:classification) : nil,
192
+ track: object_type == EQU ? data_hash[:itineraire] : nil
187
193
  }
188
194
  end
189
195
  end
@@ -200,14 +206,14 @@ module Apidae
200
206
  end
201
207
 
202
208
  def self.parse_tags_data(pres_data_hash, crit_data_hash)
203
- tags = []
209
+ tags = {}
204
210
  if pres_data_hash
205
- tags += lists_ids(pres_data_hash[:typologiesPromoSitra])
211
+ tags[:promo] = lists_ids(pres_data_hash[:typologiesPromoSitra])
206
212
  end
207
213
  unless crit_data_hash.blank?
208
- tags += crit_data_hash.map {|c| c[:id]}
214
+ tags[:internal] = crit_data_hash.map {|c| c[:id]}
209
215
  end
210
- {tags: tags}
216
+ tags
211
217
  end
212
218
 
213
219
  def self.parse_reservation(reservation_hash)
@@ -1,3 +1,3 @@
1
1
  module Apidae
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
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: 0.3.2
4
+ version: 0.3.3
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: 2018-03-19 00:00:00.000000000 Z
11
+ date: 2018-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails