class MotoRecall::Client::GenericClient

Public Class Methods

new() click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 11
def initialize
end
url(vin = nil) click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 18
def self.url(vin = nil)
  raise NotImplementedError
end

Public Instance Methods

fetch(vin) click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 31
def fetch(vin)
  url_with_vin = url(vin)
  Net::HTTP.get(URI(url_with_vin))
end
find(vin) click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 22
def find(vin)
  response = fetch(vin)
  raw_recalls = process(response) || []
  recalls = raw_recalls.map { |recall| MotoRecall::Recall.new(format(recall)) }
  MotoRecall::RecallSet.new(recalls, {
    original_response: response
  })
end
format(recall) click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 36
def format(recall)
  raise NotImplementedError
end
process(response) click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 40
def process(response)
  raise NotImplementedError
end
url(vin = nil) click to toggle source
# File lib/moto_recall/client/generic_client.rb, line 14
def url(vin = nil)
  self.class.url(vin)
end