2018-03-28 15:24:43 +02:00
|
|
|
class ApiEntreprise::EtablissementAdapter < ApiEntreprise::Adapter
|
2018-02-21 16:29:22 +01:00
|
|
|
def to_params
|
2018-03-15 14:41:04 +01:00
|
|
|
if data_source.present?
|
|
|
|
params = data_source[:etablissement].slice(*attr_to_fetch)
|
|
|
|
adresse_line = params[:adresse].slice(*address_lines_to_fetch).values.compact.join("\r\n")
|
|
|
|
params.merge!(params[:adresse].slice(*address_attr_to_fetch))
|
|
|
|
params[:adresse] = adresse_line
|
|
|
|
params
|
|
|
|
else
|
2018-03-19 14:47:56 +01:00
|
|
|
{}
|
2018-03-15 14:41:04 +01:00
|
|
|
end
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
2018-02-21 16:29:22 +01:00
|
|
|
private
|
|
|
|
|
2018-03-15 14:30:10 +01:00
|
|
|
def data_source
|
2018-03-28 15:24:43 +02:00
|
|
|
@data_source ||= ApiEntreprise::API.etablissement(@siret_or_siren, @procedure_id)
|
2018-03-19 14:43:47 +01:00
|
|
|
rescue
|
|
|
|
@data_source = nil
|
2018-03-15 14:30:10 +01:00
|
|
|
end
|
|
|
|
|
2015-08-10 11:05:06 +02:00
|
|
|
def attr_to_fetch
|
2018-01-15 14:42:48 +01:00
|
|
|
[
|
2018-02-21 16:29:22 +01:00
|
|
|
:adresse,
|
2018-01-15 14:42:48 +01:00
|
|
|
:siret,
|
|
|
|
:siege_social,
|
|
|
|
:naf,
|
|
|
|
:libelle_naf
|
2015-08-20 16:46:46 +02:00
|
|
|
]
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
2018-02-21 16:29:22 +01:00
|
|
|
def address_attr_to_fetch
|
2018-01-15 14:42:48 +01:00
|
|
|
[
|
|
|
|
:numero_voie,
|
|
|
|
:type_voie,
|
|
|
|
:nom_voie,
|
|
|
|
:complement_adresse,
|
|
|
|
:code_postal,
|
|
|
|
:localite,
|
|
|
|
:code_insee_localite
|
|
|
|
]
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
2018-02-21 16:29:22 +01:00
|
|
|
|
|
|
|
def address_lines_to_fetch
|
|
|
|
[:l1, :l2, :l3, :l4, :l5, :l6, :l7]
|
|
|
|
end
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|