text: // Generated by CoffeeScript 1.7.0
  (function() {
    var Adapter, CoffeeScript, W,
      __hasProp = {}.hasOwnProperty,
      __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
  
    Adapter = require('../adapter_base');
  
    W = require('when');
  
    CoffeeScript = (function(_super) {
      var compile;
  
      __extends(CoffeeScript, _super);
  
      function CoffeeScript(compiler) {
        this.compiler = compiler;
        this.name = 'coffee-script';
        this.extensions = ['coffee'];
        this.output = 'js';
      }
  
      CoffeeScript.prototype._render = function(str, options) {
        return compile((function(_this) {
          return function() {
            return _this.compiler.compile(str, options);
          };
        })(this));
      };
  
      compile = function(fn) {
        var err, res;
        try {
          res = fn();
        } catch (_error) {
          err = _error;
          return W.reject(err);
        }
        return W.resolve(res);
      };
  
      return CoffeeScript;
  
    })(Adapter);
  
    module.exports = CoffeeScript;
  
  }).call(this);
  