class AgeCheq::ResponseParser

Public Instance Methods

parse() click to toggle source
# File lib/agecheq/response_parser.rb, line 9
def parse
  response = JSON.parse(body)

  # Check for a failure response.
  if response['rtn'] == 'fail'
    if response['rtnmsg'] == 'invalid command'
      raise InvalidCommand, response['rtnmsg']
    elsif response['rtnmsg'] == 'invalid child agecheq pin'
      raise InvalidAgeCheqPin, response['rtnmsg']
    else
      raise UnknownFailure, response['rtnmsg']
    end
  end

  # Return data as a HWIA.
  ActiveSupport::HashWithIndifferentAccess.new(response['data'])
end