apidae 0.3.2 → 0.3.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
  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