{
  "file": "app/instance-initializers/fountainhead-routes.js",
  "content": "<pre class=\"language-javascript line-numbers\"><code class=\"language-javascript}\"><span aria-hidden=\"true\" role=\"presentation\" class=\"line-numbers-rows\"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span><span class=\"token keyword\">import</span> Router <span class=\"token keyword\">from</span> <span class=\"token string\">'../router'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\" spellcheck=\"true\">/**\n * Fountainhead's routes are automatically mounted to the consuming application's\n * router through an `instance-initializer`. We're currently directly importing\n * the consuming application's router by declaring this initializer in the `/app`\n * directory instead of the `/addon` directory.\n * @module App\n */</span>\n\n<span class=\"token comment\" spellcheck=\"true\">/**\n * Automagically mount Fountainhead routes through an `instance-initializer`.\n *\n * NOTE: this initializer needs to be in the `/app` directory so that the the\n * consuming application's router can be directly imported and manipulated.\n *\n * TODO: See if we can use some kind of lookup to do this from within an\n * initializer in the `/addon` directory\n * @class FountainheadRoutes\n * @constructor\n */</span>\n\n<span class=\"token comment\" spellcheck=\"true\">/**\n * Initialize route that is called by consuming Ember application\n * `Router` instance from the consuming application can directly mapped.\n * @method initialize\n * @return {undefined}\n */</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">function</span> <span class=\"token function\">initialize</span><span class=\"token punctuation\">(</span><span class=\"token comment\" spellcheck=\"true\">/* appInstance */</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  Router<span class=\"token punctuation\">.</span><span class=\"token function\">map</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">route</span><span class=\"token punctuation\">(</span><span class=\"token string\">'guides'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> path<span class=\"token punctuation\">:</span> <span class=\"token string\">'/guides/:guide_id'</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">route</span><span class=\"token punctuation\">(</span><span class=\"token string\">'api'</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">route</span><span class=\"token punctuation\">(</span><span class=\"token string\">'classes'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> path<span class=\"token punctuation\">:</span> <span class=\"token string\">'/classes/:class_id'</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">route</span><span class=\"token punctuation\">(</span><span class=\"token string\">'modules'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> path<span class=\"token punctuation\">:</span> <span class=\"token string\">'/modules/:module_id'</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">route</span><span class=\"token punctuation\">(</span><span class=\"token string\">'files'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> path<span class=\"token punctuation\">:</span> <span class=\"token string\">'/files/:file_id'</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token comment\" spellcheck=\"true\">/*\n * If we want, it is also possible to inject content into files using the blueprint\n * index file and insertIntoFile: https://ember-cli.com/api/classes/Blueprint.html#method_insertIntoFile\n * insertIntoFile('app/router.js', '  this.route(\"admin\");', {\n *   after: 'Router.map(function() {' + EOL\n * });\n */</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">'fountainhead-routes'</span><span class=\"token punctuation\">,</span>\n  initialize\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</code></pre>"
}