Module: OdsWrapper::MeteoAlert

Defined in:
lib/ods_wrapper/data/meteo_alert.rb

Constant Summary collapse

DATASET =
'risques-meteorologiques-copy@public'.freeze

Class Method Summary collapse

Class Method Details

.query(dep = '') ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/ods_wrapper/data/meteo_alert.rb', line 4

def self.query(dep = '')
  if dep == ''
    query = {
      dataset: OdsWrapper::MeteoAlert::DATASET,
      q: '',
      rows: 10000
    }
  else
    query = {
      dataset: OdsWrapper::MeteoAlert::DATASET,
      q: "dep:#{dep}",
      rows: 10000
    }
  end

  response = HTTParty.get(OdsWrapper::ODS_URL, query:query)
  return JSON.generate( { error: 'Server temporarily inaccessible' } ) if response.code >= 500 && response.code <= 599

  result = response.body
  hash   = JSON.parse(result)

  if (hash.dig('nhits') || 0) > 0
    response = format_response(hash)
  else
    response = []
  end

  return JSON.generate({ meteo_alert: response })
end