class OneRoster::ErrorHandler::BadRequest < StandardError
  def initialize(code_minor, description=nil)
    @code_minor = code_minor
    @description = description
  end

  def http_status
    :bad_request
  end

  def to_hash
    data = {}.tap do |props|
      props[:imsx_codeMajor] = :failure
      props[:imsx_severity] = :error
      props[:imsx_description] = "Sycamore School: #{@description}" if @description
      props[:imsx_codeMinor] = @code_minor
    end

    { statusInfoSet: [data] }
  end
end
