CINXE.COM

RubyGems - rackstep - Versions diffs - 0.0.3 → 0.0.4 - Mend - Supply Chain Defender

<!DOCTYPE html> <html> <head> <title> RubyGems - rackstep - Versions diffs - 0.0.3 → 0.0.4 - Mend - Supply Chain Defender </title> <link rel="icon" type="image/png" href="/packs/media/images/production/favicons/favicon-32x32-fa0286238d4d512e71dba3881cbbcc42.png" /> <link rel="mask-icon" type="image/x-icon" href="/packs/media/images/production/favicons/favicon-786db6a85c0dea068c1a7047338024d2.svg" /> <link rel="apple-touch-icon" type="image/png" href="/packs/media/images/production/favicons/apple-touch-icon-11491aa2351c88b3b48534d1576a2ff9.png" /> <link rel="shortcut icon" type="image/x-icon" href="/packs/media/images/production/favicons/favicon-81c62e5500c39bd10e99844e94455995.ico" /> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="PKQcVHDPf9tepGX92OvWIJZe-qtPVKTQgFvAH376_gpTzwFVB7MOBZJNXDf0FFA-T-qRBwnUxBGqXgrqLnaoXg" /> <meta content='no-cache' name='turbolinks-cache-control'> <meta content='width=device-width, initial-scale=1' name='viewport'> <link rel="stylesheet" href="/packs/css/application-b44eb75784afb1e9f8ce.css" media="all" /> <script src="/packs/js/application-9f130b109122a7b55e22.js" data-turbolinks-track="reload"></script> <link href='https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i' rel='stylesheet'> </head> <body class='registries ruby_gems diffs' id='page-top'> <div id='wrapper'> <div class='d-flex flex-column' id='content-wrapper'> <div id='content'> <nav class='navbar navbar-expand navbar-light bg-white topbar mb-4 shadow'> <a class='sidebar-brand d-flex align-items-center justify-content-center' href='/'> <div class='sidebar-brand-text mx-3 d-none d-xxl-block d-xl-block'> <img alt="Diffend" src="/packs/media/images/production/logos/vertical-dark-5363ad390f9fcfd11bfecf89a3fb60f1.svg" /> </div> </a> <div class='container'> <ul class='navbar-nav'> <li class='nav-item'> <a class='nav-link' href='/gems'> <span class='mr-2 d-none d-lg-inline text-gray-600'> RubyGems </span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/npm'> <span class='mr-2 d-none d-lg-inline text-gray-600'> npm </span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/pypi'> <span class='mr-2 d-none d-lg-inline text-gray-600'> PyPI </span> </a> </li> <div class='topbar-divider d-sm-block'></div> <li class='nav-item'> <a class='nav-link' href='/organizations'> <span class='mr-2 d-none d-lg-inline text-gray-600'> Organizations </span> </a> </li> </ul> <ul class='navbar-nav'> <div class='topbar-divider d-none d-sm-block'></div> <li class='nav-item'> <a class='nav-link' href='/users/sign_in'> <span class='mr-2 d-none d-lg-inline text-gray-600'> <i class='fas fa-key fa-fw mr-2'></i> Log in </span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/users/sign_up'> <span class='mr-2 d-none d-lg-inline text-gray-600'> <i class='fas fa-user-plus fa-fw mr-2'></i> Sign up </span> </a> </li> </ul> </div> </nav> <div class='container'> <div class='row'> <div class='col mb-1'> <nav> <ol class='breadcrumb'> <li class='breadcrumb-item'> <a href="/gems">RubyGems</a> </li> <li class='breadcrumb-item'> <a href="/gems/rackstep">rackstep</a> </li> <li class='breadcrumb-item'> <a href="/gems/rackstep">Versions diffs</a> </li> <li class='breadcrumb-item'> <a href="/gems/rackstep/0.0.3/0.0.4">0.0.3 → 0.0.4</a> </li> </ol> </nav> </div> </div> <div class='row'> <div class='col'> <div class='text-right mb-4'> </div> </div> </div> <div class='row'> <div class='col align-items-center mb-4'> <div class='text-center'> <h2 class='text-gray-800'> rackstep 0.0.3 → 0.0.4 </h2> </div> </div> </div> <div data-diff-id='7edeac11-087d-463d-ad6a-3c78dc0d8387' data-diff-state='finished' id='diff-id'> <div class='row'> <div class='col pt-2 text-black'> <div class='row'> <div class='col-lg-12 mb-4 mt-2'> <div class='card bg-info text-white shadow'> <div class='card-body'> <span class='icon text-white-100 mr-2'> <i class='fas fa-info-circle'></i> </span> Sign up to get <strong>free</strong> protection for your applications and to get access to all the features. </div> </div> </div> </div> <div id='diff'> <div class='mb-3'> <div class="d2h-file-list-wrapper"> <div class="d2h-file-list-header"> <span class="d2h-file-list-title">Files changed (8)</span> <a class="d2h-file-switch d2h-hide">hide</a> <a class="d2h-file-switch d2h-show">show</a> </div> <ol class="d2h-file-list"> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-683205" class="d2h-file-name">checksums.yaml</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+4</span> <span class="d2h-lines-deleted">-4</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-856147" class="d2h-file-name">data/lib/controller.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+51</span> <span class="d2h-lines-deleted">-41</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-689643" class="d2h-file-name">data/lib/global_configuration.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+24</span> <span class="d2h-lines-deleted">-0</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-483156" class="d2h-file-name">data/lib/rackstep.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+30</span> <span class="d2h-lines-deleted">-52</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-858830" class="d2h-file-name">data/lib/response.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+32</span> <span class="d2h-lines-deleted">-0</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-144644" class="d2h-file-name">data/lib/route.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+24</span> <span class="d2h-lines-deleted">-0</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-424186" class="d2h-file-name">data/lib/router.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+16</span> <span class="d2h-lines-deleted">-26</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/rackstep/0.0.3/0.0.4/page/1#d2h-004177" class="d2h-file-name">metadata</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+6</span> <span class="d2h-lines-deleted">-3</span> </span> </span> </li> </ol> </div> </div> <div id="d2h-683205" class="d2h-file-wrapper" data-lang="yaml"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-683205">checksums.yaml</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,7 +1,7 @@</div> </td> </tr><tr> <td id="d2h-683205-23" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-683205-23"> <div class="line-num1">1</div> <div class="line-num2">1</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">---</span> </div> </td> </tr><tr> <td id="d2h-683205-34" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-683205-34"> <div class="line-num1">2</div> <div class="line-num2">2</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">SHA1:</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">3</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> metadata.gz: <del>c61f80d81dce85a8edaf0aed8f3c9a6191a335a6</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">4</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> data.tar.gz: <del>45afba957a83cb16b42daeb03edfd1e35507a642</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> metadata.gz: <ins>a96502606655874e6a4ff8f9d617a49a6be5b74c</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> data.tar.gz: <ins>aaed008abdfc950a191dbaacad82d25a0d5d3228</ins></span> </div> </td> </tr><tr> <td id="d2h-683205-89" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-683205-89"> <div class="line-num1">5</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">SHA512:</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">6</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> metadata.gz: <del>55ddab5bb82ae17d6821fb471e015f57f7cfa35991efdbef1d74932199918b33a6f3bd9f46947905248483864f328306be47d9645ee887782ddd6f65ab7f9ca4</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">7</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> data.tar.gz: <del>3c939a6c913167405185302027236d64ee889a245785a394d3ca16afe126231cdad192c7dc9a22aae350cbd3824a39403bf9a0863401a05b1bc88bbcd841ae12</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> metadata.gz: <ins>d022ecba03a538210e8f92c125b291caa458dbf153ca207e90dc28c97acc0c5875ab1a8766072e4c0e0d1322ecbd5c57766ce46ef990f0bdb6a8670ed4028735</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> data.tar.gz: <ins>9663bf5ea208d782f58d2ff6d97b8d4168ecdb6f2abed35b2cf0e0e1282326f10af5335325f923701637a58febde0e6514f6fc0dd68befae00ea3cebb7b0a230</ins></span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-856147" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-856147">data/lib/controller.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,69 +1,79 @@</div> </td> </tr><tr> <td id="d2h-856147-171" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-171"> <div class="line-num1">1</div> <div class="line-num2">1</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># Abstract controller class with some helper methods. ALL your controllers</span> </div> </td> </tr><tr> <td id="d2h-856147-182" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-182"> <div class="line-num1">2</div> <div class="line-num2">2</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># MUST use this one as a superclass.</span> </div> </td> </tr><tr> <td id="d2h-856147-193" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-193"> <div class="line-num1">3</div> <div class="line-num2">3</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">4</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del>module</del> RackStep</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins>class</ins> RackStep<ins>::Controller</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-226" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-226"> <div class="line-num1">5</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">6</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>class</del> <del>Controller</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>#</ins> <ins>The request will be injected here.</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-259" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-259"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> attr_accessor :request</span> </div> </td> </tr><tr> <td id="d2h-856147-270" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-270"> <div class="line-num1">7</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">8</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># The <del>request</del> will be <del>injected</del> <del>here</del>.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">9</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del>attr_accessor :<del>request</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># The <ins>Rack::Response</ins> <ins>object that </ins>will be <ins>delivered</ins> <ins>to the user</ins>.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">10</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins>attr_accessor :<ins>response</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-325" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-325"> <div class="line-num1">10</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># The <del>Rack::Response</del> <del>object</del> <del>that</del> will be <del>delivered</del> <del>to</del> <del>the</del> <del>user.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">12</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> attr_accessor</del> <del>:response</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># The <ins>&#x27;global&#x27;</ins> <ins>app</ins> <ins>settings</ins> will be <ins>injected</ins> <ins>here.</ins> <ins>This</ins> <ins>hash variable is</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> #</ins> <ins>initialized only once (singleton) and may contain references to things</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-380" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-380"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # that should be initialize only once during the app start (eg: database</span> </div> </td> </tr><tr> <td id="d2h-856147-391" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-391"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # connection).</span> </div> </td> </tr><tr> <td id="d2h-856147-402" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-402"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> attr_accessor :settings</span> </div> </td> </tr><tr> <td id="d2h-856147-413" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-413"> <div class="line-num1">13</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">14</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> #</del> <del>The &#x27;global&#x27; app settings will be injected here. This may contain</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">15</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>#</del> <del>references</del> <del>to things that should be initialize only once during the app</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">16</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>#</del> <del>start</del> <del>(eg: database connection).</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">17</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>attr_accessor</del> <del>:settings</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">18</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">19</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> def initialize</del></span> </div> </td> </tr><tr> <td id="d2h-856147-490" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-490"> <div class="line-num1">20</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @response = RackStep::Response.new</span> </div> </td> </tr><tr> <td id="d2h-856147-501" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-501"> <div class="line-num1">21</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @response.body = &#x27;&#x27;</span> </div> </td> </tr><tr> <td id="d2h-856147-512" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-512"> <div class="line-num1">22</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @response.content_type = &#x27;application&#x2F;json&#x27;</span> </div> </td> </tr><tr> <td id="d2h-856147-523" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-523"> <div class="line-num1">23</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @response.status = 200</span> </div> </td> </tr><tr> <td id="d2h-856147-534" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-534"> <div class="line-num1">24</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> def</ins> <ins>initialize</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>@response</ins> <ins>=</ins> <ins>RackStep::Response.new</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>@response.body</ins> <ins>=</ins> <ins>&#x27;&#x27;</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>@response.content_type</ins> <ins>= &#x27;application&#x2F;json&#x27;</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> @response.status = 200</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> end</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-611" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-611"> <div class="line-num1">25</div> <div class="line-num2">24</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">26</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># <del>RackStep</del> <del>will</del> <del>always</del> <del>execute</del> <del>this</del> <del>method</del> <del>before</del> <del>delegating </del>the <del>request</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">27</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># <del>processing</del> <del>to</del> <del>the</del> <del>specified</del> <del>method.</del> <del>The</del> <del>user</del> <del>may</del> <del>overwrite </del>this method<del>.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">28</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># <del>This</del> <del>can</del> <del>be</del> <del>used</del> <del>to</del> <del>check</del> <del>for</del> <del>access</del> <del>authorization</del> <del>or</del> <del>any</del> <del>piece</del> <del>of code</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">29</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># <del>that</del> <del>must</del> <del>be</del> <del>executed</del> <del>before</del> <del>every</del> <del>request</del> <del>for</del> <del>this</del> <del>controller.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">30</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> def</del> <del>before</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">31</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> end</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># <ins>Once</ins> <ins>the</ins> <ins>application</ins> <ins>receives</ins> <ins>a</ins> <ins>new</ins> <ins>request,</ins> the <ins>router will decide wich</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># <ins>controller</ins> <ins>should</ins> <ins>process</ins> <ins>that</ins> <ins>request</ins> <ins>and</ins> <ins>will</ins> <ins>execute</ins> this method<ins> for</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">27</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># <ins>the</ins> <ins>chosen</ins> <ins>controller.</ins> <ins>So</ins> <ins>this</ins> <ins>is</ins> <ins>the</ins> <ins>most</ins> <ins>important</ins> <ins>method</ins> <ins>of</ins> <ins>this</ins> <ins>class</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">28</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># <ins>and</ins> <ins>every</ins> <ins>controller</ins> <ins>should</ins> <ins>overwrite</ins> <ins>it</ins> <ins>to</ins> <ins>implement</ins> <ins>it&#x27;s</ins> <ins>business</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">29</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> #</ins> <ins>logic.</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">30</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> def process_request</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-754" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-754"> <div class="line-num1"></div> <div class="line-num2">31</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-856147-765" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-765"> <div class="line-num1">32</div> <div class="line-num2">32</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">33</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># RackStep will always execute this method <del>after</del> <del>processing</del> the request</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">34</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># <del>of</del> to the specified <del>method</del>. The user may overwrite this method.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">35</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># This <del>can</del> be <del>used</del> <del>to</del> <del>check</del> <del>for</del> <del>logging</del> <del>or</del> <del>any</del> <del>piece</del> <del>of</del> <del>code</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">36</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del># <del>that</del> <del>must</del> <del>be</del> <del>executed</del> <del>after every request for this controller.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">37</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del>def <del>after</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">38</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> </del>end</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">33</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># RackStep will always execute this method <ins>before</ins> <ins>delegating</ins> the request</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">34</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># <ins>processing</ins> to the specified <ins>controller</ins>. The user may overwrite this method.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">35</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># This <ins>may</ins> be <ins>usefull</ins> <ins>if</ins> <ins>the</ins> <ins>user</ins> <ins>wants</ins> <ins>to</ins> <ins>create</ins> <ins>an</ins> <ins>abstract</ins> <ins>controllers.</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">36</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins># <ins>TODO:</ins> <ins>Is</ins> <ins>this</ins> <ins>really</ins> <ins>necessary?</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">37</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins>def <ins>before</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">38</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> </ins>end</span> </div> </td> </tr><tr> <td id="d2h-856147-908" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-908"> <div class="line-num1">39</div> <div class="line-num2">39</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-919" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-919"> <div class="line-num1"></div> <div class="line-num2">40</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # RackStep will always execute this method after processing the request</span> </div> </td> </tr><tr> <td id="d2h-856147-930" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-930"> <div class="line-num1"></div> <div class="line-num2">41</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # of to the specified controller. The user may overwrite this method.</span> </div> </td> </tr><tr> <td id="d2h-856147-941" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-941"> <div class="line-num1"></div> <div class="line-num2">42</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # This can be used to check for logging or any piece of code</span> </div> </td> </tr><tr> <td id="d2h-856147-952" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-952"> <div class="line-num1"></div> <div class="line-num2">43</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # that must be executed after every request for this controller.</span> </div> </td> </tr><tr> <td id="d2h-856147-963" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-963"> <div class="line-num1"></div> <div class="line-num2">44</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # This may be usefull if the user wants to create an abstract controllers.</span> </div> </td> </tr><tr> <td id="d2h-856147-974" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-974"> <div class="line-num1"></div> <div class="line-num2">45</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # TODO: Is this really necessary?</span> </div> </td> </tr><tr> <td id="d2h-856147-985" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-985"> <div class="line-num1"></div> <div class="line-num2">46</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def after</span> </div> </td> </tr><tr> <td id="d2h-856147-996" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-996"> <div class="line-num1">40</div> <div class="line-num2">47</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-856147-1007" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1007"> <div class="line-num1">41</div> <div class="line-num2">48</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-1018" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1018"> <div class="line-num1"></div> <div class="line-num2">49</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr><tr> <td id="d2h-856147-1029" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1029"> <div class="line-num1">42</div> <div class="line-num2">50</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-1040" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-1040"> <div class="line-num1">43</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # This controller will handle error the error &quot;page not found&quot;. The user may</span> </div> </td> </tr><tr> <td id="d2h-856147-1051" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-1051"> <div class="line-num1">44</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # overwrite this by creating new router to &#x27;notfound&#x27;.</span> </div> </td> </tr><tr> <td id="d2h-856147-1062" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-1062"> <div class="line-num1">45</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> class ErrorController &lt; RackStep::Controller</span> </div> </td> </tr><tr> <td id="d2h-856147-1073" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1073"> <div class="line-num1">46</div> <div class="line-num2">51</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">47</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> def</del> <del>not_found</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">48</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> @response.body</del> <del>=</del> <del>&#x27;404</del> <del>-</del> <del>Page</del> <del>not</del> <del>found</del>&#x27;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">49</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> @response.content_type</del> <del>=</del> <del>&#x27;text&#x2F;plain&#x27;</del></span> </div> </td> </tr><tr> <td id="d2h-856147-1117" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-1117"> <div class="line-num1">50</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @response.status = 404</span> </div> </td> </tr><tr> <td id="d2h-856147-1128" class="d2h-code-linenumber d2h-del"><a href="#d2h-856147-1128"> <div class="line-num1">51</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">52</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins>#</ins> <ins>This is the default controller that will handle the &quot;page not found&quot; (404). </ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">53</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins>#</ins> <ins>The</ins> <ins>user</ins> <ins>may</ins> <ins>overwrite</ins> <ins>this</ins> <ins>by creating new route to </ins>&#x27;<ins>notfound&#x27;.</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">54</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins>class</ins> <ins>RackStep::NotFoundController</ins> <ins>&lt; RackStep::Controller</ins></span> </div> </td> </tr><tr> <td id="d2h-856147-1172" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1172"> <div class="line-num1">52</div> <div class="line-num2">55</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-1183" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1183"> <div class="line-num1"></div> <div class="line-num2">56</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def process_request</span> </div> </td> </tr><tr> <td id="d2h-856147-1194" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1194"> <div class="line-num1"></div> <div class="line-num2">57</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @response.body = &#x27;404 - Page not found&#x27;</span> </div> </td> </tr><tr> <td id="d2h-856147-1205" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1205"> <div class="line-num1"></div> <div class="line-num2">58</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @response.content_type = &#x27;text&#x2F;plain&#x27;</span> </div> </td> </tr><tr> <td id="d2h-856147-1216" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1216"> <div class="line-num1"></div> <div class="line-num2">59</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @response.status = 404</span> </div> </td> </tr><tr> <td id="d2h-856147-1227" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1227"> <div class="line-num1">53</div> <div class="line-num2">60</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-856147-1238" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1238"> <div class="line-num1">54</div> <div class="line-num2">61</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-1249" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1249"> <div class="line-num1">55</div> <div class="line-num2">62</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr><tr> <td id="d2h-856147-1260" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1260"> <div class="line-num1">56</div> <div class="line-num2">63</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-1271" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1271"> <div class="line-num1">57</div> <div class="line-num2">64</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># A module for controllers to add static html pages rendering.</span> </div> </td> </tr><tr> <td id="d2h-856147-1282" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1282"> <div class="line-num1">58</div> <div class="line-num2">65</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># This is not the best way to serve static content. In production, consider</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">59</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># using Nginx or Apache. Using ruby&#x2F;rack to serve static content <del>is a waste</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">60</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># of resources and should be only used for low traffic web pages. <del>This</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">61</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># method is provided so that in this circumstances you may use it to <del>keep a</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">62</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># simpler architecture.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">66</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># using Nginx or Apache<ins> or Amazon S3</ins>. Using ruby&#x2F;rack to serve static content </span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">67</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># <ins>is a waste </ins>of resources and should be only used for low traffic web pages. </span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">68</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># <ins>This </ins>method is provided so that in this circumstances you may use it to </span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">69</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># <ins>keep a </ins>simpler architecture.</span> </div> </td> </tr><tr> <td id="d2h-856147-1381" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1381"> <div class="line-num1"></div> <div class="line-num2">70</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># TODO: Add layout support.</span> </div> </td> </tr><tr> <td id="d2h-856147-1392" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1392"> <div class="line-num1">63</div> <div class="line-num2">71</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module RackStep::Controller::HtmlRendering</span> </div> </td> </tr><tr> <td id="d2h-856147-1403" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1403"> <div class="line-num1"></div> <div class="line-num2">72</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> </span> </div> </td> </tr><tr> <td id="d2h-856147-1414" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1414"> <div class="line-num1">64</div> <div class="line-num2">73</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def render_page(page_name, pages_directory = &#x27;app&#x2F;public&#x2F;pages&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-856147-1425" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1425"> <div class="line-num1">65</div> <div class="line-num2">74</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> File.read(&quot;#{pages_directory}&#x2F;#{page_name}.html&quot;)</span> </div> </td> </tr><tr> <td id="d2h-856147-1436" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1436"> <div class="line-num1">66</div> <div class="line-num2">75</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-856147-1447" class="d2h-code-linenumber d2h-ins"><a href="#d2h-856147-1447"> <div class="line-num1"></div> <div class="line-num2">76</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> </span> </div> </td> </tr><tr> <td id="d2h-856147-1458" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1458"> <div class="line-num1">67</div> <div class="line-num2">77</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr><tr> <td id="d2h-856147-1469" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1469"> <div class="line-num1">68</div> <div class="line-num2">78</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-856147-1480" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-856147-1480"> <div class="line-num1">69</div> <div class="line-num2">79</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># A module for controllers to add ERB template rendering. RackStep is not meant</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-689643" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-689643">data/lib/global_configuration.rb</a></span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -0,0 +1,24 @@</div> </td> </tr><tr> <td id="d2h-689643-1518" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1518"> <div class="line-num1"></div> <div class="line-num2">1</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># A singleton class with a settings hash attribute which may be used to</span> </div> </td> </tr><tr> <td id="d2h-689643-1529" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1529"> <div class="line-num1"></div> <div class="line-num2">2</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># to store all &#x27;global&#x27; settings (eg: database connections, etc).</span> </div> </td> </tr><tr> <td id="d2h-689643-1540" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1540"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># This settings variable will be injected into every controller</span> </div> </td> </tr><tr> <td id="d2h-689643-1551" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1551"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># by RackStep.</span> </div> </td> </tr><tr> <td id="d2h-689643-1562" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1562"> <div class="line-num1"></div> <div class="line-num2">5</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-689643-1573" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1573"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">class RackStep::GlobalConfiguration</span> </div> </td> </tr><tr> <td id="d2h-689643-1584" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1584"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-689643-1595" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1595"> <div class="line-num1"></div> <div class="line-num2">8</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # One and only one instance of this class will exist. To retrieve it,</span> </div> </td> </tr><tr> <td id="d2h-689643-1606" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1606"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # we use RackStep::GlobalConfiguration.instance, but please DO NOT</span> </div> </td> </tr><tr> <td id="d2h-689643-1617" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1617"> <div class="line-num1"></div> <div class="line-num2">10</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # get it this way. The settings hash will be available to you in the </span> </div> </td> </tr><tr> <td id="d2h-689643-1628" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1628"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # controller and you should access it with the &quot;settings&quot; object that</span> </div> </td> </tr><tr> <td id="d2h-689643-1639" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1639"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # is inject into your controller.</span> </div> </td> </tr><tr> <td id="d2h-689643-1650" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1650"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # To see how to use it, please take a look at sample_app.rb initialize </span> </div> </td> </tr><tr> <td id="d2h-689643-1661" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1661"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # method and SimpleSettingsRetrieveService controller class.</span> </div> </td> </tr><tr> <td id="d2h-689643-1672" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1672"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> include Singleton</span> </div> </td> </tr><tr> <td id="d2h-689643-1683" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1683"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-689643-1694" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1694"> <div class="line-num1"></div> <div class="line-num2">17</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> attr_accessor :settings</span> </div> </td> </tr><tr> <td id="d2h-689643-1705" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1705"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-689643-1716" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1716"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Defines a Hash where the settings shall be stored.</span> </div> </td> </tr><tr> <td id="d2h-689643-1727" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1727"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def initialize</span> </div> </td> </tr><tr> <td id="d2h-689643-1738" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1738"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @settings = Hash.new</span> </div> </td> </tr><tr> <td id="d2h-689643-1749" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1749"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-689643-1760" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1760"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-689643-1771" class="d2h-code-linenumber d2h-ins"><a href="#d2h-689643-1771"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-483156" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-483156">data/lib/rackstep.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,40 +1,51 @@</div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">1</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del>require_relative</del> <del>&#x27;controller&#x27;</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">1</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins>#</ins> <ins>This is where we define an abstract class with the base of </ins></span> </div> </td> </tr><tr> <td id="d2h-483156-1831" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1831"> <div class="line-num1"></div> <div class="line-num2">2</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># a RackStep app. This class MUST be extended by the user.</span> </div> </td> </tr><tr> <td id="d2h-483156-1842" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1842"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-1853" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1853"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">require &#x27;rack&#x27;</span> </div> </td> </tr><tr> <td id="d2h-483156-1864" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1864"> <div class="line-num1"></div> <div class="line-num2">5</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">require_relative &#x27;response&#x27;</span> </div> </td> </tr><tr> <td id="d2h-483156-1875" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1875"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">require_relative &#x27;route&#x27;</span> </div> </td> </tr><tr> <td id="d2h-483156-1886" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-1886"> <div class="line-num1">2</div> <div class="line-num2">7</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">require_relative &#x27;router&#x27;</span> </div> </td> </tr><tr> <td id="d2h-483156-1897" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1897"> <div class="line-num1"></div> <div class="line-num2">8</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">require_relative &#x27;global_configuration&#x27;</span> </div> </td> </tr><tr> <td id="d2h-483156-1908" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-1908"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">require_relative &#x27;controller&#x27;</span> </div> </td> </tr><tr> <td id="d2h-483156-1919" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-1919"> <div class="line-num1">3</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-1930" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-1930"> <div class="line-num1">4</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module RackStep</span> </div> </td> </tr><tr> <td id="d2h-483156-1941" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-1941"> <div class="line-num1">5</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-1952" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-1952"> <div class="line-num1">6</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class App</span> </div> </td> </tr><tr> <td id="d2h-483156-1963" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-1963"> <div class="line-num1">7</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">8</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>We</del> <del>will </del>store the request <del>and</del> <del>create</del> <del>a</del> <del>router</del> <del>in</del> <del>this</del> <del>class</del> <del>initializer</del>.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">9</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> attr_reader :request<del>, :router</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>Will</ins> store the <ins>received </ins>request <ins>which</ins> <ins>will</ins> <ins>be</ins> <ins>injected</ins> <ins>into</ins> <ins>the</ins> <ins>user</ins> <ins>controllers</ins>.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> attr_reader :request</span> </div> </td> </tr><tr> <td id="d2h-483156-2018" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2018"> <div class="line-num1">10</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>Settings</del> <del>is a </del>hash that will be injected into the controller. This hash</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">12</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>may contain </del>&quot;global&quot; settings, like a connection to database<del>,</del> and other</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">13</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>things that </del>should be initiaized only once while the app is starting.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>A</ins> hash that will be injected into the controller. This hash<ins> may contain</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # &quot;global&quot; settings, like a connection to database and other<ins> things that </ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # should be initiaized only once while the app is starting.</span> </div> </td> </tr><tr> <td id="d2h-483156-2095" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2095"> <div class="line-num1">14</div> <div class="line-num2">21</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> attr_accessor :settings</span> </div> </td> </tr><tr> <td id="d2h-483156-2106" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2106"> <div class="line-num1">15</div> <div class="line-num2">22</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2117" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-2117"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Router is a singleton that will store all the registred routes.</span> </div> </td> </tr><tr> <td id="d2h-483156-2128" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-2128"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def router</span> </div> </td> </tr><tr> <td id="d2h-483156-2139" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-2139"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> Router.instance</span> </div> </td> </tr><tr> <td id="d2h-483156-2150" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-2150"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2161" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-2161"> <div class="line-num1"></div> <div class="line-num2">27</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2172" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2172"> <div class="line-num1">16</div> <div class="line-num2">28</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Static method called from config.ru (&quot;run App&quot;).</span> </div> </td> </tr><tr> <td id="d2h-483156-2183" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2183"> <div class="line-num1">17</div> <div class="line-num2">29</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def self.call(env)</span> </div> </td> </tr><tr> <td id="d2h-483156-2194" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2194"> <div class="line-num1">18</div> <div class="line-num2">30</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> new(env).process_request</span> </div> </td> </tr><tr> <td id="d2h-483156-2205" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2205"> <div class="line-num1">19</div> <div class="line-num2">31</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2216" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2216"> <div class="line-num1">20</div> <div class="line-num2">32</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2227" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2227"> <div class="line-num1">21</div> <div class="line-num2">33</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def initialize(env)</span> </div> </td> </tr><tr> <td id="d2h-483156-2238" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2238"> <div class="line-num1">22</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # TODO: Is it ok to leave request as an attribute?</span> </div> </td> </tr><tr> <td id="d2h-483156-2249" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2249"> <div class="line-num1">23</div> <div class="line-num2">34</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> @request = Rack::Request.new(env)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">24</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @<del>router</del> = RackStep::<del>Router</del>.<del>new</del></span> </div> </td> </tr><tr> <td id="d2h-483156-2271" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2271"> <div class="line-num1">25</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @settings = Hash.new</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">35</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @<ins>settings</ins> = RackStep::<ins>GlobalConfiguration</ins>.<ins>instance.settings</ins></span> </div> </td> </tr><tr> <td id="d2h-483156-2293" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2293"> <div class="line-num1">26</div> <div class="line-num2">36</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2304" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2304"> <div class="line-num1">27</div> <div class="line-num2">37</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Adding default routes to handle page not found (404).</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">28</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>for_all_verbs_add_route</del>(&#x27;notfound&#x27;, &#x27;RackStep::<del>ErrorController</del>&#x27;<del>, &#x27;not_found&#x27;</del>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">38</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>router.add_route_for_all_verbs</ins>(&#x27;notfound&#x27;, &#x27;RackStep::<ins>NotFoundController</ins>&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-483156-2337" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2337"> <div class="line-num1">29</div> <div class="line-num2">39</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2348" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2348"> <div class="line-num1">30</div> <div class="line-num2">40</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2359" class="d2h-code-linenumber d2h-ins"><a href="#d2h-483156-2359"> <div class="line-num1"></div> <div class="line-num2">41</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # TODO: Code Climate says this method is too big.</span> </div> </td> </tr><tr> <td id="d2h-483156-2370" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2370"> <div class="line-num1">31</div> <div class="line-num2">42</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def process_request</span> </div> </td> </tr><tr> <td id="d2h-483156-2381" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2381"> <div class="line-num1">32</div> <div class="line-num2">43</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> verb = request.request_method</span> </div> </td> </tr><tr> <td id="d2h-483156-2392" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2392"> <div class="line-num1">33</div> <div class="line-num2">44</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> path = request.path</span> </div> </td> </tr><tr> <td id="d2h-483156-2403" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2403"> <div class="line-num1">34</div> <div class="line-num2">45</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">35</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # In RackStep, each request is processed by a <del>method of a </del>controller. The</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">36</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>router </del>is responsable to find, based on the given path and http verb,</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">37</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # the apropriate controller <del>and method </del>to handle the request.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">46</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # In RackStep, each request is processed by a controller. The<ins> router </ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">47</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # is responsable to find, based on the given path and http verb,</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">48</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # the apropriate controller to handle the request.</span> </div> </td> </tr><tr> <td id="d2h-483156-2480" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2480"> <div class="line-num1">38</div> <div class="line-num2">49</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> route = router.find_route_for(path, verb)</span> </div> </td> </tr><tr> <td id="d2h-483156-2491" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2491"> <div class="line-num1">39</div> <div class="line-num2">50</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Initialize the correspondent controller.</span> </div> </td> </tr><tr> <td id="d2h-483156-2502" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2502"> <div class="line-num1">40</div> <div class="line-num2">51</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> controller = Object.const_get(route.controller).new</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -45,7 +56,7 @@ module RackStep</div> </td> </tr><tr> <td id="d2h-483156-2519" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2519"> <div class="line-num1">45</div> <div class="line-num2">56</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Execute the before method of this controller.</span> </div> </td> </tr><tr> <td id="d2h-483156-2530" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2530"> <div class="line-num1">46</div> <div class="line-num2">57</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> controller.send(:before)</span> </div> </td> </tr><tr> <td id="d2h-483156-2541" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2541"> <div class="line-num1">47</div> <div class="line-num2">58</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Execute the apropriate method&#x2F;action.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">48</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> controller.send(<del>route.method</del>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">59</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> controller.send(<ins>:process_request</ins>)</span> </div> </td> </tr><tr> <td id="d2h-483156-2574" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2574"> <div class="line-num1">49</div> <div class="line-num2">60</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Execute the after method of this controller.</span> </div> </td> </tr><tr> <td id="d2h-483156-2585" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2585"> <div class="line-num1">50</div> <div class="line-num2">61</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> controller.send(:after)</span> </div> </td> </tr><tr> <td id="d2h-483156-2596" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2596"> <div class="line-num1">51</div> <div class="line-num2">62</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Get from the controller what is the response for this request.</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -54,44 +65,11 @@ module RackStep</div> </td> </tr><tr> <td id="d2h-483156-2613" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2613"> <div class="line-num1">54</div> <div class="line-num2">65</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> return response</span> </div> </td> </tr><tr> <td id="d2h-483156-2624" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2624"> <div class="line-num1">55</div> <div class="line-num2">66</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2635" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-2635"> <div class="line-num1">56</div> <div class="line-num2">67</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">57</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>Adds</del> <del>new</del> <del>routes</del> to <del>the</del> <del>application,</del> <del>one</del> for <del>each</del> <del>possible</del> <del>http</del> <del>verb</del> <del>(GET</del>,</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">58</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>POST,</del> <del>DELETE</del> <del>and</del> <del>PUT)</del>.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">59</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def <del>for_all_verbs_add_route</del>(path, controller<del>, method</del>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">60</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>@</del>router<del>.add_route(&#x27;GET&#x27;,</del> <del>path,</del> <del>controller, method)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">61</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>@</del>router.add_route(<del>&#x27;POST&#x27;</del>, path, controller<del>, method</del>)</span> </div> </td> </tr><tr> <td id="d2h-483156-2701" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2701"> <div class="line-num1">62</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @router.add_route(&#x27;DELETE&#x27;, path, controller, method)</span> </div> </td> </tr><tr> <td id="d2h-483156-2712" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2712"> <div class="line-num1">63</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @router.add_route(&#x27;PUT&#x27;, path, controller, method)</span> </div> </td> </tr><tr> <td id="d2h-483156-2723" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2723"> <div class="line-num1">64</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2734" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2734"> <div class="line-num1">65</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2745" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2745"> <div class="line-num1">66</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # Adds a new route to the application.</span> </div> </td> </tr><tr> <td id="d2h-483156-2756" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2756"> <div class="line-num1">67</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def add_route(verb, path, controller, method)</span> </div> </td> </tr><tr> <td id="d2h-483156-2767" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2767"> <div class="line-num1">68</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @router.add_route(verb, path, controller, method)</span> </div> </td> </tr><tr> <td id="d2h-483156-2778" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2778"> <div class="line-num1">69</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2789" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2789"> <div class="line-num1">70</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2800" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2800"> <div class="line-num1">71</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2811" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2811"> <div class="line-num1">72</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2822" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2822"> <div class="line-num1">73</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # Let&#x27;s extend the Rack Response class to add a few methods to make the life</span> </div> </td> </tr><tr> <td id="d2h-483156-2833" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2833"> <div class="line-num1">74</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # of the developer a little easier.</span> </div> </td> </tr><tr> <td id="d2h-483156-2844" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2844"> <div class="line-num1">75</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> class Response &lt; Rack::Response</span> </div> </td> </tr><tr> <td id="d2h-483156-2855" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2855"> <div class="line-num1">76</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2866" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2866"> <div class="line-num1">77</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # The original body= method of Rack::Response expects an array. In RackStep</span> </div> </td> </tr><tr> <td id="d2h-483156-2877" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2877"> <div class="line-num1">78</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # the user may set it as a String and we will convert it to array if</span> </div> </td> </tr><tr> <td id="d2h-483156-2888" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2888"> <div class="line-num1">79</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # necessary.</span> </div> </td> </tr><tr> <td id="d2h-483156-2899" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2899"> <div class="line-num1">80</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def body=(value)</span> </div> </td> </tr><tr> <td id="d2h-483156-2910" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2910"> <div class="line-num1">81</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> if value.is_a?(String)</span> </div> </td> </tr><tr> <td id="d2h-483156-2921" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2921"> <div class="line-num1">82</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # Convert it to an array.</span> </div> </td> </tr><tr> <td id="d2h-483156-2932" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2932"> <div class="line-num1">83</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> value = [value]</span> </div> </td> </tr><tr> <td id="d2h-483156-2943" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2943"> <div class="line-num1">84</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2954" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2954"> <div class="line-num1">85</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2965" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2965"> <div class="line-num1">86</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> super(value)</span> </div> </td> </tr><tr> <td id="d2h-483156-2976" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2976"> <div class="line-num1">87</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-2987" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2987"> <div class="line-num1">88</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-2998" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-2998"> <div class="line-num1">89</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def content_type</span> </div> </td> </tr><tr> <td id="d2h-483156-3009" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-3009"> <div class="line-num1">90</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> header[&#x27;Content-Type&#x27;]</span> </div> </td> </tr><tr> <td id="d2h-483156-3020" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-3020"> <div class="line-num1">91</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-3031" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-3031"> <div class="line-num1">92</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-3042" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-3042"> <div class="line-num1">93</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def content_type=(value)</span> </div> </td> </tr><tr> <td id="d2h-483156-3053" class="d2h-code-linenumber d2h-del"><a href="#d2h-483156-3053"> <div class="line-num1">94</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> header[&#x27;Content-Type&#x27;] = value</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">68</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>This</ins> <ins>method</ins> <ins>was</ins> <ins>created </ins>to <ins>make</ins> <ins>it</ins> <ins>easier</ins> for <ins>the</ins> <ins>user</ins> <ins>to</ins> <ins>add</ins> <ins>routes</ins>,<ins> but it </ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">69</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>will</ins> <ins>delegate</ins> <ins>to</ins> <ins>the router singleton class</ins>.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">70</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def <ins>self.add_route</ins>(<ins>verb, </ins>path, controller)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">71</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> router <ins>=</ins> <ins>Router.instance</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">72</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> router.add_route(<ins>verb</ins>, path, controller)</span> </div> </td> </tr><tr> <td id="d2h-483156-3119" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-3119"> <div class="line-num1">95</div> <div class="line-num2">73</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-483156-3130" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-3130"> <div class="line-num1">96</div> <div class="line-num2">74</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-483156-3141" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-483156-3141"> <div class="line-num1">97</div> <div class="line-num2">75</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-858830" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-858830">data/lib/response.rb</a></span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -0,0 +1,32 @@</div> </td> </tr><tr> <td id="d2h-858830-3179" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3179"> <div class="line-num1"></div> <div class="line-num2">1</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># Extending the Rack::Response class to add a few methods to make the life</span> </div> </td> </tr><tr> <td id="d2h-858830-3190" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3190"> <div class="line-num1"></div> <div class="line-num2">2</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># of the developer a little easier.</span> </div> </td> </tr><tr> <td id="d2h-858830-3201" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3201"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3212" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3212"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">module RackStep</span> </div> </td> </tr><tr> <td id="d2h-858830-3223" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3223"> <div class="line-num1"></div> <div class="line-num2">5</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3234" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3234"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> class Response &lt; Rack::Response</span> </div> </td> </tr><tr> <td id="d2h-858830-3245" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3245"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3256" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3256"> <div class="line-num1"></div> <div class="line-num2">8</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # The original body= method of Rack::Response expects an array. In RackStep</span> </div> </td> </tr><tr> <td id="d2h-858830-3267" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3267"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # the user may set it as a String and we will convert it to array if</span> </div> </td> </tr><tr> <td id="d2h-858830-3278" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3278"> <div class="line-num1"></div> <div class="line-num2">10</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # necessary.</span> </div> </td> </tr><tr> <td id="d2h-858830-3289" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3289"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def body=(value)</span> </div> </td> </tr><tr> <td id="d2h-858830-3300" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3300"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> if value.is_a?(String)</span> </div> </td> </tr><tr> <td id="d2h-858830-3311" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3311"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Convert it to an array.</span> </div> </td> </tr><tr> <td id="d2h-858830-3322" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3322"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> value = [value]</span> </div> </td> </tr><tr> <td id="d2h-858830-3333" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3333"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-858830-3344" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3344"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3355" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3355"> <div class="line-num1"></div> <div class="line-num2">17</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> super(value)</span> </div> </td> </tr><tr> <td id="d2h-858830-3366" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3366"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-858830-3377" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3377"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3388" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3388"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Just a helper to get the content type from the response header.</span> </div> </td> </tr><tr> <td id="d2h-858830-3399" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3399"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def content_type</span> </div> </td> </tr><tr> <td id="d2h-858830-3410" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3410"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> header[&#x27;Content-Type&#x27;]</span> </div> </td> </tr><tr> <td id="d2h-858830-3421" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3421"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-858830-3432" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3432"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3443" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3443"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Just a helper to set the content type on the response header.</span> </div> </td> </tr><tr> <td id="d2h-858830-3454" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3454"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def content_type=(value)</span> </div> </td> </tr><tr> <td id="d2h-858830-3465" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3465"> <div class="line-num1"></div> <div class="line-num2">27</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> header[&#x27;Content-Type&#x27;] = value</span> </div> </td> </tr><tr> <td id="d2h-858830-3476" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3476"> <div class="line-num1"></div> <div class="line-num2">28</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-858830-3487" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3487"> <div class="line-num1"></div> <div class="line-num2">29</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3498" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3498"> <div class="line-num1"></div> <div class="line-num2">30</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-858830-3509" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3509"> <div class="line-num1"></div> <div class="line-num2">31</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-858830-3520" class="d2h-code-linenumber d2h-ins"><a href="#d2h-858830-3520"> <div class="line-num1"></div> <div class="line-num2">32</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-144644" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-144644">data/lib/route.rb</a></span> <span class="d2h-tag d2h-added d2h-added-tag">ADDED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -0,0 +1,24 @@</div> </td> </tr><tr> <td id="d2h-144644-3558" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3558"> <div class="line-num1"></div> <div class="line-num2">1</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Represents a single route. The verb can be &#x27;GET&#x27;, &#x27;PUT&#x27;, &#x27;POST&#x27; or &#x27;DELETE&#x27;.</span> </div> </td> </tr><tr> <td id="d2h-144644-3569" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3569"> <div class="line-num1"></div> <div class="line-num2">2</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # The path is a string with something like &#x27;users&#x27;, the controller is the</span> </div> </td> </tr><tr> <td id="d2h-144644-3580" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3580"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # name of the class that will process this type of request.</span> </div> </td> </tr><tr> <td id="d2h-144644-3591" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3591"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3602" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3602"> <div class="line-num1"></div> <div class="line-num2">5</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> module RackStep</span> </div> </td> </tr><tr> <td id="d2h-144644-3613" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3613"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3624" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3624"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> class Route</span> </div> </td> </tr><tr> <td id="d2h-144644-3635" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3635"> <div class="line-num1"></div> <div class="line-num2">8</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3646" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3646"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> attr_accessor :verb, :path, :controller</span> </div> </td> </tr><tr> <td id="d2h-144644-3657" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3657"> <div class="line-num1"></div> <div class="line-num2">10</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3668" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3668"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def initialize(verb, path, controller)</span> </div> </td> </tr><tr> <td id="d2h-144644-3679" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3679"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @verb = verb</span> </div> </td> </tr><tr> <td id="d2h-144644-3690" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3690"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @path = path</span> </div> </td> </tr><tr> <td id="d2h-144644-3701" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3701"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @controller = controller</span> </div> </td> </tr><tr> <td id="d2h-144644-3712" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3712"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-144644-3723" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3723"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3734" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3734"> <div class="line-num1"></div> <div class="line-num2">17</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Unique id (String) of the route (verb + path). Eg: &#x27;GETuser&#x27;.</span> </div> </td> </tr><tr> <td id="d2h-144644-3745" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3745"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def id</span> </div> </td> </tr><tr> <td id="d2h-144644-3756" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3756"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> verb + path</span> </div> </td> </tr><tr> <td id="d2h-144644-3767" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3767"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-144644-3778" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3778"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3789" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3789"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-144644-3800" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3800"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-144644-3811" class="d2h-code-linenumber d2h-ins"><a href="#d2h-144644-3811"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-424186" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-424186">data/lib/router.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,9 +1,12 @@</div> </td> </tr><tr> <td id="d2h-424186-3849" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3849"> <div class="line-num1">1</div> <div class="line-num2">1</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># Router is one of the fundamental parts of RackStep. It&#x27;s the router that tell</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">2</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># us, given a path and a http verb, what controller <del>and</del> <del>method</del> <del>should</del> <del>handle</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">3</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># <del>the business </del>logic of the request.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">2</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># us, given a path and a http verb, what controller <ins>should</ins> <ins>handle</ins> <ins>the</ins> <ins>business</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># logic of the request.</span> </div> </td> </tr><tr> <td id="d2h-424186-3904" class="d2h-code-linenumber d2h-ins"><a href="#d2h-424186-3904"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-3915" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3915"> <div class="line-num1">4</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module RackStep</span> </div> </td> </tr><tr> <td id="d2h-424186-3926" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3926"> <div class="line-num1">5</div> <div class="line-num2">6</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-3937" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3937"> <div class="line-num1">6</div> <div class="line-num2">7</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class Router</span> </div> </td> </tr><tr> <td id="d2h-424186-3948" class="d2h-code-linenumber d2h-ins"><a href="#d2h-424186-3948"> <div class="line-num1"></div> <div class="line-num2">8</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> </span> </div> </td> </tr><tr> <td id="d2h-424186-3959" class="d2h-code-linenumber d2h-ins"><a href="#d2h-424186-3959"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> include Singleton</span> </div> </td> </tr><tr> <td id="d2h-424186-3970" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3970"> <div class="line-num1">7</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-3981" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3981"> <div class="line-num1">8</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Will store all the possible routes. By default it&#x27;s empty and should be</span> </div> </td> </tr><tr> <td id="d2h-424186-3992" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-3992"> <div class="line-num1">9</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # populated by the application (RackStep will add a 404 route, the others</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -14,13 +17,13 @@ module RackStep</div> </td> </tr><tr> <td id="d2h-424186-4009" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4009"> <div class="line-num1">14</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> @routes = Hash.new</span> </div> </td> </tr><tr> <td id="d2h-424186-4020" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4020"> <div class="line-num1">15</div> <div class="line-num2">18</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-424186-4031" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4031"> <div class="line-num1">16</div> <div class="line-num2">19</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">17</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def add_route(verb, path, controller<del>, method</del>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">18</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> route = Route.new(verb, path, controller<del>, method</del>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> def add_route(verb, path, controller)<ins> </ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> route = Route.new(verb, path, controller)</span> </div> </td> </tr><tr> <td id="d2h-424186-4086" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4086"> <div class="line-num1">19</div> <div class="line-num2">22</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> routes[route.id] = route</span> </div> </td> </tr><tr> <td id="d2h-424186-4097" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4097"> <div class="line-num1">20</div> <div class="line-num2">23</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-424186-4108" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4108"> <div class="line-num1">21</div> <div class="line-num2">24</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-4119" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4119"> <div class="line-num1">22</div> <div class="line-num2">25</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Given a request, will parse it&#x27;s path to find what it the apropriate</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">23</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # controller <del>and mehod&#x2F;action </del>to respond it.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # controller to respond it.</span> </div> </td> </tr><tr> <td id="d2h-424186-4152" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4152"> <div class="line-num1">24</div> <div class="line-num2">27</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def find_route_for(path, verb)</span> </div> </td> </tr><tr> <td id="d2h-424186-4163" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4163"> <div class="line-num1">25</div> <div class="line-num2">28</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Ignoring the first char if path starts with &#x27;&#x2F;&#x27;. This way the path of</span> </div> </td> </tr><tr> <td id="d2h-424186-4174" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4174"> <div class="line-num1">26</div> <div class="line-num2">29</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # &#x27;http&#x2F;&#x2F;localhost&#x2F;&#x27; will be the same of &#x27;http:&#x2F;&#x2F;localhost&#x27; (both will</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -37,28 +40,15 @@ module RackStep</div> </td> </tr><tr> <td id="d2h-424186-4191" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4191"> <div class="line-num1">37</div> <div class="line-num2">40</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> return route</span> </div> </td> </tr><tr> <td id="d2h-424186-4202" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4202"> <div class="line-num1">38</div> <div class="line-num2">41</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-424186-4213" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4213"> <div class="line-num1">39</div> <div class="line-num2">42</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">40</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> end</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">41</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">42</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> #</del> <del>Represents a single route. The verb can be &#x27;GET&#x27;</del>, <del>&#x27;PUT&#x27;, &#x27;POST&#x27; or &#x27;DELETE&#x27;.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">43</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> # The path is a string with something like </del>&#x27;<del>users</del>&#x27;, <del>the</del> controller<del> is the</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">44</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> #</del> <del>name</del> <del>of the class that will process this type of request and the method</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">45</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> #</del> <del>parameter</del> <del>is the name of the method that will be executed.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">46</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><del> class</del> <del>Route</del></span> </div> </td> </tr><tr> <td id="d2h-424186-4301" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4301"> <div class="line-num1">47</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-4312" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4312"> <div class="line-num1">48</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> attr_accessor :verb, :path, :controller, :method</span> </div> </td> </tr><tr> <td id="d2h-424186-4323" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4323"> <div class="line-num1">49</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-4334" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4334"> <div class="line-num1">50</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def initialize(verb, path, controller, method)</span> </div> </td> </tr><tr> <td id="d2h-424186-4345" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4345"> <div class="line-num1">51</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @verb = verb</span> </div> </td> </tr><tr> <td id="d2h-424186-4356" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4356"> <div class="line-num1">52</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @path = path</span> </div> </td> </tr><tr> <td id="d2h-424186-4367" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4367"> <div class="line-num1">53</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @controller = controller</span> </div> </td> </tr><tr> <td id="d2h-424186-4378" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4378"> <div class="line-num1">54</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @method = method</span> </div> </td> </tr><tr> <td id="d2h-424186-4389" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4389"> <div class="line-num1">55</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-424186-4400" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4400"> <div class="line-num1">56</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-4411" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4411"> <div class="line-num1">57</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # Unique id of the route (verb + path). Eg: &#x27;GETuser&#x27;.</span> </div> </td> </tr><tr> <td id="d2h-424186-4422" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4422"> <div class="line-num1">58</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> def id</span> </div> </td> </tr><tr> <td id="d2h-424186-4433" class="d2h-code-linenumber d2h-del"><a href="#d2h-424186-4433"> <div class="line-num1">59</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> verb + path</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">43</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> # Adds new routes to the application, one for each possible http verb (GET,</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">44</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> # POST, DELETE and PUT).</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">45</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> def</ins> <ins>add_route_for_all_verbs(path</ins>, <ins>controller)</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">46</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> add_route(</ins>&#x27;<ins>GET</ins>&#x27;, <ins>path,</ins> controller<ins>)</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">47</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> add_route(&#x27;POST&#x27;,</ins> <ins>path,</ins> <ins>controller)</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">48</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> add_route(&#x27;DELETE&#x27;,</ins> <ins>path,</ins> <ins>controller)</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">49</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><ins> add_route(&#x27;PUT&#x27;,</ins> <ins>path, controller)</ins></span> </div> </td> </tr><tr> <td id="d2h-424186-4521" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4521"> <div class="line-num1">60</div> <div class="line-num2">50</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-424186-4532" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4532"> <div class="line-num1">61</div> <div class="line-num2">51</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-424186-4543" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4543"> <div class="line-num1">62</div> <div class="line-num2">52</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-424186-4554" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-424186-4554"> <div class="line-num1">63</div> <div class="line-num2">53</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">64</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">54</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-004177" class="d2h-file-wrapper" data-lang=""> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-004177">metadata</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,14 +1,14 @@</div> </td> </tr><tr> <td id="d2h-004177-4614" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4614"> <div class="line-num1">1</div> <div class="line-num2">1</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">--- !ruby&#x2F;object:Gem::Specification</span> </div> </td> </tr><tr> <td id="d2h-004177-4625" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4625"> <div class="line-num1">2</div> <div class="line-num2">2</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">name: rackstep</span> </div> </td> </tr><tr> <td id="d2h-004177-4636" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4636"> <div class="line-num1">3</div> <div class="line-num2">3</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">version: !ruby&#x2F;object:Gem::Version</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">4</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> version: 0.0.<del>3</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> version: 0.0.<ins>4</ins></span> </div> </td> </tr><tr> <td id="d2h-004177-4669" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4669"> <div class="line-num1">5</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">platform: ruby</span> </div> </td> </tr><tr> <td id="d2h-004177-4680" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4680"> <div class="line-num1">6</div> <div class="line-num2">6</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">authors:</span> </div> </td> </tr><tr> <td id="d2h-004177-4691" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4691"> <div class="line-num1">7</div> <div class="line-num2">7</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">- Marcio Frayze David</span> </div> </td> </tr><tr> <td id="d2h-004177-4702" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4702"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">autorequire: </span> </div> </td> </tr><tr> <td id="d2h-004177-4713" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4713"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">bindir: bin</span> </div> </td> </tr><tr> <td id="d2h-004177-4724" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4724"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">cert_chain: []</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn">date: <del>2015</del>-<del>10</del>-<del>27</del> 00:00:00.000000000 Z</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">date: <ins>2016</ins>-<ins>02</ins>-<ins>16</ins> 00:00:00.000000000 Z</span> </div> </td> </tr><tr> <td id="d2h-004177-4757" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4757"> <div class="line-num1">12</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">dependencies: []</span> </div> </td> </tr><tr> <td id="d2h-004177-4768" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4768"> <div class="line-num1">13</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">description: RackStep is (yet another) micro ruby framework for microservices and</span> </div> </td> </tr><tr> <td id="d2h-004177-4779" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4779"> <div class="line-num1">14</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> web development.</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -18,7 +18,10 @@ extensions: []</div> </td> </tr><tr> <td id="d2h-004177-4796" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4796"> <div class="line-num1">18</div> <div class="line-num2">18</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">extra_rdoc_files: []</span> </div> </td> </tr><tr> <td id="d2h-004177-4807" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4807"> <div class="line-num1">19</div> <div class="line-num2">19</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">files:</span> </div> </td> </tr><tr> <td id="d2h-004177-4818" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4818"> <div class="line-num1">20</div> <div class="line-num2">20</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">- lib&#x2F;controller.rb</span> </div> </td> </tr><tr> <td id="d2h-004177-4829" class="d2h-code-linenumber d2h-ins"><a href="#d2h-004177-4829"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- lib&#x2F;global_configuration.rb</span> </div> </td> </tr><tr> <td id="d2h-004177-4840" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4840"> <div class="line-num1">21</div> <div class="line-num2">22</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">- lib&#x2F;rackstep.rb</span> </div> </td> </tr><tr> <td id="d2h-004177-4851" class="d2h-code-linenumber d2h-ins"><a href="#d2h-004177-4851"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- lib&#x2F;response.rb</span> </div> </td> </tr><tr> <td id="d2h-004177-4862" class="d2h-code-linenumber d2h-ins"><a href="#d2h-004177-4862"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- lib&#x2F;route.rb</span> </div> </td> </tr><tr> <td id="d2h-004177-4873" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4873"> <div class="line-num1">22</div> <div class="line-num2">25</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">- lib&#x2F;router.rb</span> </div> </td> </tr><tr> <td id="d2h-004177-4884" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4884"> <div class="line-num1">23</div> <div class="line-num2">26</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">homepage: https:&#x2F;&#x2F;github.com&#x2F;mfdavid&#x2F;rackstep</span> </div> </td> </tr><tr> <td id="d2h-004177-4895" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4895"> <div class="line-num1">24</div> <div class="line-num2">27</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">licenses:</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -40,7 +43,7 @@ required_rubygems_version: !ruby&#x2F;object:Gem::Requirement</div> </td> </tr><tr> <td id="d2h-004177-4912" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4912"> <div class="line-num1">40</div> <div class="line-num2">43</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> version: &#x27;0&#x27;</span> </div> </td> </tr><tr> <td id="d2h-004177-4923" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4923"> <div class="line-num1">41</div> <div class="line-num2">44</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">requirements: []</span> </div> </td> </tr><tr> <td id="d2h-004177-4934" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4934"> <div class="line-num1">42</div> <div class="line-num2">45</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">rubyforge_project: </span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">43</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn">rubygems_version: 2.<del>4.</del>5.1</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">46</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">rubygems_version: 2.5.1</span> </div> </td> </tr><tr> <td id="d2h-004177-4967" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4967"> <div class="line-num1">44</div> <div class="line-num2">47</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">signing_key: </span> </div> </td> </tr><tr> <td id="d2h-004177-4978" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4978"> <div class="line-num1">45</div> <div class="line-num2">48</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">specification_version: 4</span> </div> </td> </tr><tr> <td id="d2h-004177-4989" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-4989"> <div class="line-num1">46</div> <div class="line-num2">49</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">summary: RackStep micro web framework</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </div> </div> </div> <footer class='sticky-footer mt-3'> <div class='container text-center mb-3 copyright'> <a class='mr-4 text-gray-600' href='mailto:diffend@whitesourcesoftware.com'> Contact Us </a> <a class='mr-4 text-gray-600' href='https://www.whitesourcesoftware.com/terms-of-service/'> Terms of Service </a> <a class='mr-4 text-gray-600' href='https://www.whitesourcesoftware.com/privacy-policy/'> Privacy Policy </a> <a class='mr-4 text-gray-600' href='https://diffend.io/docs'> Docs </a> </div> <div class='container mt-4'> <div class='copyright text-center'> Copyright © 2025 Mend Software </div> </div> </footer> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10