code: function () {
        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }
  
        if (this.router && this.router.router || !_emberMetalCore.default.testing) {
          var _router;
  
          (_router = this.router).send.apply(_router, args);
        } else {
          var name = args[0];
          args = slice.call(args, 1);
          var action = this.actions[name];
          if (action) {
            return this.actions[name].apply(this, args);
          }
        }
      }
docs: Sends an action to the router, which will delegate it to the currently
  active route hierarchy per the bubbling rules explained under `actions`.
  Example
  ```javascript
  App.Router.map(function() {
  this.route('index');
  });
  App.ApplicationRoute = Ember.Route.extend({
  actions: {
  track: function(arg) {
  console.log(arg, 'was clicked');
  }
  }
  });
  App.IndexRoute = Ember.Route.extend({
  actions: {
  trackIfDebug: function(arg) {
  if (debug) {
  this.send('track', arg);
  }
  }
  }
  });
  ```
  @method send
  @param {String} name the name of the action to trigger
  @param {...*} args
  @public