Class: MotoRecall::Client::GeneralMotors

Inherits:
GenericClient show all
Defined in:
lib/moto_recall/client/general_motors.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from GenericClient

#find, #initialize, #url

Constructor Details

This class inherits a constructor from MotoRecall::Client::GenericClient

Class Method Details

.url(vin) ⇒ Object



6
7
8
# File 'lib/moto_recall/client/general_motors.rb', line 6

def self.url(vin)
  "https://my.gm.com/services/#{vin}/recalls"
end

Instance Method Details

#fetch(vin) ⇒ Object



10
11
12
13
14
# File 'lib/moto_recall/client/general_motors.rb', line 10

def fetch(vin)
  agent = Mechanize.new
  response = agent.get(url(vin))
  response.body
end

#format(recall) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/moto_recall/client/general_motors.rb', line 25

def format(recall)
  {
    type: recall["recall_type"],
    nhtsa_number: recall["nhtsa_recall_number"],
    oem_number: recall["mfr_recall_number"],
    date: recall["recall_date"],
    title: recall["recall_title"],
    description: recall["recall_description"],
    safety_risk: recall["safety_risk_description"],
    remedy: recall["remedy_description"],
    status: recall["mfr_recall_status"],
    notes: nil
  }
end

#process(response) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/moto_recall/client/general_motors.rb', line 16

def process(response)
  parsed_response = JSON.parse(response)
  if parsed_response["data"] && parsed_response["data"]["recalls"]
    parsed_response["data"]["recalls"]
  else
    []
  end
end