text: /*
   * Copyright (C) 2014 - present Instructure, Inc.
   *
   * This file is part of Canvas.
   *
   * Canvas is free software: you can redistribute it and/or modify it under
   * the terms of the GNU Affero General Public License as published by the Free
   * Software Foundation, version 3 of the License.
   *
   * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
   * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
   * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
   * details.
   *
   * You should have received a copy of the GNU Affero General Public License along
   * with this program. If not, see <http://www.gnu.org/licenses/>.
   */
  
  define(function(require) {
    var Backbone = require('canvas_packages/backbone');
    var pickAndNormalize = require('canvas_quizzes/models/common/pick_and_normalize');
    var fromJSONAPI = require('canvas_quizzes/models/common/from_jsonapi');
    var K = require('../constants');
    var config = require('../config');
    var inflections = require('canvas_quizzes/util/inflections');
    var camelize = inflections.camelize;
  
    return Backbone.Model.extend({
      parse: function(payload) {
        var attrs;
  
        attrs = fromJSONAPI(payload, 'quiz_questions', true);
        attrs = pickAndNormalize(attrs, K.QUESTION_ATTRS);
        attrs.id = ''+attrs.id;
        attrs.readableType = camelize(
          attrs.questionType
            .replace(/_question$/, '')
            .replace(/_/g, ' '),
          false
        );
  
        return attrs;
      }
    });
  });