CINXE.COM

RubyGems - taro - Versions diffs - 1.0.0 → 1.2.0 - Mend - Supply Chain Defender

<!DOCTYPE html> <html> <head> <title> RubyGems - taro - Versions diffs - 1.0.0 → 1.2.0 - 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="VPeZrr-fab00PFsYaDwmd42ZlKJenpZF_Il3c0Xs8RoLctcwF8KEiVb8hmLaDQURI8RabqT3P8UuZ4aEXaBa6A" /> <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/taro">taro</a> </li> <li class='breadcrumb-item'> <a href="/gems/taro">Versions diffs</a> </li> <li class='breadcrumb-item'> <a href="/gems/taro/1.0.0/1.2.0">1.0.0 → 1.2.0</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'> taro 1.0.0 → 1.2.0 </h2> </div> </div> </div> <div data-diff-id='539dcf3b-4492-4f9f-abab-2b6a2b6f8369' 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 (40)</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/taro/1.0.0/1.2.0/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/taro/1.0.0/1.2.0/page/1#d2h-670634" class="d2h-file-name">data/CHANGELOG.md</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+35</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/1#d2h-027470" class="d2h-file-name">data/README.md</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+77</span> <span class="d2h-lines-deleted">-14</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/taro/1.0.0/1.2.0/page/1#d2h-619843" class="d2h-file-name">data/lib/taro/errors.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+7</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/1#d2h-729228" class="d2h-file-name">data/lib/taro/export/open_api_v3.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+54</span> <span class="d2h-lines-deleted">-23</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/taro/1.0.0/1.2.0/page/1#d2h-149904" class="d2h-file-name">data/lib/taro/rails/active_declarations.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/1#d2h-070248" class="d2h-file-name">data/lib/taro/rails/declaration.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+50</span> <span class="d2h-lines-deleted">-9</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/taro/1.0.0/1.2.0/page/1#d2h-587334" class="d2h-file-name">data/lib/taro/rails/generators/install_generator.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/1#d2h-958292" class="d2h-file-name">data/lib/taro/rails/generators/templates/errors_type.erb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+15</span> <span class="d2h-lines-deleted">-10</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/taro/1.0.0/1.2.0/page/1#d2h-621753" class="d2h-file-name">data/lib/taro/rails/normalized_route.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+8</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/taro/1.0.0/1.2.0/page/1#d2h-289013" class="d2h-file-name">data/lib/taro/rails/response_validation.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+7</span> <span class="d2h-lines-deleted">-57</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/taro/1.0.0/1.2.0/page/2#d2h-651386" class="d2h-file-name">data/lib/taro/rails/response_validator.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+109</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/taro/1.0.0/1.2.0/page/2#d2h-533442" class="d2h-file-name">data/lib/taro/rails/tasks/export.rake</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+5</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/2#d2h-340467" class="d2h-file-name">data/lib/taro/rails.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-2</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/taro/1.0.0/1.2.0/page/2#d2h-296034" class="d2h-file-name">data/lib/taro/types/base_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+2</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/taro/1.0.0/1.2.0/page/2#d2h-218348" class="d2h-file-name">data/lib/taro/types/coercion.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+28</span> <span class="d2h-lines-deleted">-17</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/taro/1.0.0/1.2.0/page/2#d2h-219474" class="d2h-file-name">data/lib/taro/types/enum_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+2</span> <span class="d2h-lines-deleted">-2</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/taro/1.0.0/1.2.0/page/2#d2h-390832" class="d2h-file-name">data/lib/taro/types/field.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+8</span> <span class="d2h-lines-deleted">-16</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/taro/1.0.0/1.2.0/page/2#d2h-229204" class="d2h-file-name">data/lib/taro/types/field_validation.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/2#d2h-598929" class="d2h-file-name">data/lib/taro/types/list_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+4</span> <span class="d2h-lines-deleted">-6</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/taro/1.0.0/1.2.0/page/2#d2h-467854" class="d2h-file-name">data/lib/taro/types/object_types/free_form_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-371574" class="d2h-file-name">data/lib/taro/types/object_types/no_content_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-537383" class="d2h-file-name">data/lib/taro/types/object_types/page_info_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+2</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/taro/1.0.0/1.2.0/page/2#d2h-753502" class="d2h-file-name">data/lib/taro/types/object_types/page_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+15</span> <span class="d2h-lines-deleted">-25</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/taro/1.0.0/1.2.0/page/2#d2h-634235" class="d2h-file-name">data/lib/taro/types/scalar/iso8601_date_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-632658" class="d2h-file-name">data/lib/taro/types/scalar/iso8601_datetime_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-273028" class="d2h-file-name">data/lib/taro/types/scalar/timestamp_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-421360" class="d2h-file-name">data/lib/taro/types/scalar/uuid_v4_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-441240" class="d2h-file-name">data/lib/taro/types/shared/deprecation.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+3</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/taro/1.0.0/1.2.0/page/2#d2h-248027" class="d2h-file-name">data/lib/taro/types/shared/derived_types.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+27</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/taro/1.0.0/1.2.0/page/2#d2h-571371" class="d2h-file-name">data/lib/taro/types/shared/errors.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+3</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/2#d2h-912377" class="d2h-file-name">data/lib/taro/types/shared/fields.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+6</span> <span class="d2h-lines-deleted">-5</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/taro/1.0.0/1.2.0/page/2#d2h-017482" class="d2h-file-name">data/lib/taro/types/shared/item_type.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</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/taro/1.0.0/1.2.0/page/2#d2h-091458" class="d2h-file-name">data/lib/taro/types/shared/object_coercion.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+13</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/taro/1.0.0/1.2.0/page/2#d2h-173306" class="d2h-file-name">data/lib/taro/types/shared/openapi_name.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+8</span> <span class="d2h-lines-deleted">-6</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/taro/1.0.0/1.2.0/page/2#d2h-140784" class="d2h-file-name">data/lib/taro/types/shared/rendering.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+11</span> <span class="d2h-lines-deleted">-25</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/taro/1.0.0/1.2.0/page/2#d2h-667364" class="d2h-file-name">data/lib/taro/version.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/2#d2h-848768" class="d2h-file-name">data/tasks/benchmark.rake</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-1</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/taro/1.0.0/1.2.0/page/3#d2h-004177" class="d2h-file-name">metadata</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+7</span> <span class="d2h-lines-deleted">-5</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" 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 13H1V2h12v12zM11 9H3V7h8v2z"></path> </svg> <a href="/gems/taro/1.0.0/1.2.0/page/3#d2h-560566" class="d2h-file-name">data/lib/taro/types/shared/derivable_types.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+0</span> <span class="d2h-lines-deleted">-9</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">SHA256:</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>d810edb4a339ca65e24bed6cbecf1baf1f83f84f7894589e8db69a09bc9b3f23</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>eaef44afdc12b965d93fd4532efadf41025c30fd59eb87281ae5815c6f48bcf7</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>5007f07dcb3230a1a45011138c19cc0f233e0a0e0fa81d64d554ee3d5cc4a82e</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>99dde57ec71bb2724a29005e644a0bb23d642df11fe4555bd9203340169814df</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>f2de8020efb8ede1493d10cb798d69fa92201d2b518177a527d0e2546e771afe8fa436f03dd839c4a75d655cc2eab26fdb35c4d37a830393fda4e37bfd6583c5</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>ca421c1f360b072570f7eab0b17c26ac2109f16a19d96efbe564d22e791f7fa0945d11eb914ff67b29602576499f03aed388fc10cad6f9b7b1f42bea4f905f7d</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>abb5fb481da01a4a50b19e891c3373b42372c97993788ed24c51b07146e087e25d040bc4ea077606a14013633b30f6254f6ced2e939ba9b039b341d95f918211</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>b5dd6c2222598ad3d8ee64c64fd0fc6c40299c3f071b08317d17aa29c3f786924ae4b064f587b1e548ba102e0cc802b8a5adf7ccbadf033795974bfdaae5329a</ins></span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-670634" class="d2h-file-wrapper" data-lang="md"> <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-670634">data/CHANGELOG.md</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,5 +1,39 @@</div> </td> </tr><tr> <td id="d2h-670634-171" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-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">## [Unreleased]</span> </div> </td> </tr><tr> <td id="d2h-670634-182" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-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"><br></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>0.</del>1.0] - 2024-11-<del>03</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">## [1.<ins>2.</ins>0] - 2024-11-<ins>18</ins></span> </div> </td> </tr><tr> <td id="d2h-670634-215" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-215"> <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-670634-226" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-226"> <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">### Added</span> </div> </td> </tr><tr> <td id="d2h-670634-237" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-237"> <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-670634-248" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-248"> <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">- Improved error messages</span> </div> </td> </tr><tr> <td id="d2h-670634-259" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-259"> <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">- Option to define custom derived types</span> </div> </td> </tr><tr> <td id="d2h-670634-270" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-270"> <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">- Option to use custom keys in paginated content</span> </div> </td> </tr><tr> <td id="d2h-670634-281" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-281"> <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">- Option to deprecate individual fields, params, and types</span> </div> </td> </tr><tr> <td id="d2h-670634-292" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-292"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-303" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-303"> <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">### Fixed</span> </div> </td> </tr><tr> <td id="d2h-670634-314" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-314"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-325" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-325"> <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">- Fixed nullable enum fields raising for null input</span> </div> </td> </tr><tr> <td id="d2h-670634-336" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-336"> <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">- Fixed auto-loading of return types</span> </div> </td> </tr><tr> <td id="d2h-670634-347" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-347"> <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">- Fixed console spam when inspecting declarations</span> </div> </td> </tr><tr> <td id="d2h-670634-358" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-358"> <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">- Fixed resolver method not being used when rendering a Hash</span> </div> </td> </tr><tr> <td id="d2h-670634-369" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-369"> <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">- Fixed the ErrorsType template</span> </div> </td> </tr><tr> <td id="d2h-670634-380" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-380"> <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">- Many fixes for OpenAPI export</span> </div> </td> </tr><tr> <td id="d2h-670634-391" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-391"> <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"> - Fixed export of parameters for http methods without body</span> </div> </td> </tr><tr> <td id="d2h-670634-402" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-402"> <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"> - Fixed export for PageType</span> </div> </td> </tr><tr> <td id="d2h-670634-413" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-413"> <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"> - Fixed export for arrays of UUIDs, Dates, and Times</span> </div> </td> </tr><tr> <td id="d2h-670634-424" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-424"> <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"> - Fixed export YML keys for namespaced controllers</span> </div> </td> </tr><tr> <td id="d2h-670634-435" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-435"> <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"> - Reference plain types for repeated flat return types</span> </div> </td> </tr><tr> <td id="d2h-670634-446" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-446"> <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"> - Made order of paths, verbs, responses and schemas deterministic</span> </div> </td> </tr><tr> <td id="d2h-670634-457" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-457"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-468" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-468"> <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">## [1.1.0] - 2024-11-16</span> </div> </td> </tr><tr> <td id="d2h-670634-479" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-479"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-490" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-490"> <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">### Added</span> </div> </td> </tr><tr> <td id="d2h-670634-501" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-501"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-512" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-512"> <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">- Response validation refined</span> </div> </td> </tr><tr> <td id="d2h-670634-523" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-523"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-534" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-534"> <div class="line-num1"></div> <div class="line-num2">33</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">### Fixed</span> </div> </td> </tr><tr> <td id="d2h-670634-545" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-545"> <div class="line-num1"></div> <div class="line-num2">34</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-670634-556" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-556"> <div class="line-num1"></div> <div class="line-num2">35</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">- Bugfix for openapi export</span> </div> </td> </tr><tr> <td id="d2h-670634-567" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-567"> <div class="line-num1"></div> <div class="line-num2">36</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-670634-578" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-578"> <div class="line-num1"></div> <div class="line-num2">37</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">## [1.0.0] - 2024-11-14</span> </div> </td> </tr><tr> <td id="d2h-670634-589" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-589"> <div class="line-num1">4</div> <div class="line-num2">38</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-670634-600" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-600"> <div class="line-num1">5</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">- Initial release</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-027470" class="d2h-file-wrapper" data-lang="md"> <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-027470">data/README.md</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">@@ -10,11 +10,6 @@ It is inspired by [`apipie-rails`](https:&#x2F;&#x2F;github.com&#x2F;Apipie&#x2F;apipie-rails) and [</div> </td> </tr><tr> <td id="d2h-027470-638" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-638"> <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">- conveniently check request and response data against the declaration</span> </div> </td> </tr><tr> <td id="d2h-027470-649" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-649"> <div class="line-num1">11</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">- offer an up-to-date OpenAPI export with minimal configuration</span> </div> </td> </tr><tr> <td id="d2h-027470-660" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-660"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-027470-671" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-671"> <div class="line-num1">13</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 is a work in progress - TODO:</span> </div> </td> </tr><tr> <td id="d2h-027470-682" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-682"> <div class="line-num1">14</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-027470-693" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-693"> <div class="line-num1">15</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">- ISO8601Time, ISO8601Date types</span> </div> </td> </tr><tr> <td id="d2h-027470-704" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-704"> <div class="line-num1">16</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">- ResponseValidation: allow rendering scalars directly (e.g. `render json: 42`)</span> </div> </td> </tr><tr> <td id="d2h-027470-715" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-715"> <div class="line-num1">17</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-027470-726" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-726"> <div class="line-num1">18</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">## Installation</span> </div> </td> </tr><tr> <td id="d2h-027470-737" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-737"> <div class="line-num1">19</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 id="d2h-027470-748" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-748"> <div class="line-num1">20</div> <div class="line-num2">15</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">```bash</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -136,16 +131,18 @@ Taro.config.validate_responses = false</div> </td> </tr><tr> <td id="d2h-027470-765" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-765"> <div class="line-num1">136</div> <div class="line-num2">131</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">The following type names are available by default and can be used as `type:`&#x2F;`array_of:`&#x2F;`page_of:` arguments:</span> </div> </td> </tr><tr> <td id="d2h-027470-776" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-776"> <div class="line-num1">137</div> <div class="line-num2">132</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-027470-787" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-787"> <div class="line-num1">138</div> <div class="line-num2">133</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;Boolean&#x27;` - accepts and renders `true` or `false`</span> </div> </td> </tr><tr> <td id="d2h-027470-798" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-798"> <div class="line-num1"></div> <div class="line-num2">134</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">- `&#x27;Date&#x27;` - accepts and renders a date string in ISO8601 format</span> </div> </td> </tr><tr> <td id="d2h-027470-809" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-809"> <div class="line-num1"></div> <div class="line-num2">135</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">- `&#x27;DateTime&#x27;` - an alias for `&#x27;Time&#x27;`</span> </div> </td> </tr><tr> <td id="d2h-027470-820" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-820"> <div class="line-num1">139</div> <div class="line-num2">136</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;Float&#x27;`</span> </div> </td> </tr><tr> <td id="d2h-027470-831" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-831"> <div class="line-num1">140</div> <div class="line-num2">137</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;FreeForm&#x27;` - accepts and renders any JSON-serializable object, use with care</span> </div> </td> </tr><tr> <td id="d2h-027470-842" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-842"> <div class="line-num1">141</div> <div class="line-num2">138</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;Integer&#x27;`</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">142</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">- `&#x27;<del>NoContentType</del>&#x27;` - renders an empty object, for use with `status: :no_content`</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">139</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">- `&#x27;<ins>NoContent</ins>&#x27;` - renders an empty object, for use with `status: :no_content`</span> </div> </td> </tr><tr> <td id="d2h-027470-875" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-875"> <div class="line-num1">143</div> <div class="line-num2">140</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;String&#x27;`</span> </div> </td> </tr><tr> <td id="d2h-027470-886" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-886"> <div class="line-num1">144</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">- `&#x27;Timestamp&#x27;` - renders a `Time` as unix timestamp integer and turns into incoming integers into a `Time`</span> </div> </td> </tr><tr> <td id="d2h-027470-897" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-897"> <div class="line-num1">145</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">- `&#x27;UUID&#x27;` - accepts and renders UUIDs</span> </div> </td> </tr><tr> <td id="d2h-027470-908" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-908"> <div class="line-num1">146</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">- `&#x27;Date&#x27;` - accepts and renders a date string in ISO8601 format</span> </div> </td> </tr><tr> <td id="d2h-027470-919" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-919"> <div class="line-num1">147</div> <div class="line-num2">141</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;Time&#x27;` - accepts and renders a time string in ISO8601 format</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">148</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">- `&#x27;<del>DateTime</del>&#x27;` - <del>an</del> <del>alias</del> <del>for</del> `<del>&#x27;</del>Time<del>&#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">142</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">- `&#x27;<ins>Timestamp</ins>&#x27;` - <ins>renders</ins> <ins>a</ins> <ins>`Time`</ins> <ins>as unix timestamp integer and turns incoming integers into a </ins>`Time`</span> </div> </td> </tr><tr> <td id="d2h-027470-952" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-952"> <div class="line-num1"></div> <div class="line-num2">143</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">- `&#x27;UUID&#x27;` - accepts and renders UUIDs</span> </div> </td> </tr><tr> <td id="d2h-027470-963" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-963"> <div class="line-num1"></div> <div class="line-num2">144</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-027470-974" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-974"> <div class="line-num1"></div> <div class="line-num2">145</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">Also, when using the generator, `ErrorsType` and `ErrorDetailsType` are generated as a starting point for unified error presentation. `ErrorsType` can render invalid `ActiveRecord` instances, `ActiveModel::Errors` and other data structures.</span> </div> </td> </tr><tr> <td id="d2h-027470-985" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-985"> <div class="line-num1">149</div> <div class="line-num2">146</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-027470-996" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-996"> <div class="line-num1">150</div> <div class="line-num2">147</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">### Enums</span> </div> </td> </tr><tr> <td id="d2h-027470-1007" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1007"> <div class="line-num1">151</div> <div class="line-num2">148</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-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -173,7 +170,7 @@ end</div> </td> </tr><tr> <td id="d2h-027470-1024" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1024"> <div class="line-num1">173</div> <div class="line-num2">170</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-027470-1035" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1035"> <div class="line-num1">174</div> <div class="line-num2">171</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">### FAQ</span> </div> </td> </tr><tr> <td id="d2h-027470-1046" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1046"> <div class="line-num1">175</div> <div class="line-num2">172</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">176</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">#### How <del>to</del> avoid repeating common error declarations?</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">173</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">#### How <ins>do</ins> <ins>I </ins>avoid repeating common error declarations?</span> </div> </td> </tr><tr> <td id="d2h-027470-1079" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1079"> <div class="line-num1">177</div> <div class="line-num2">174</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-027470-1090" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1090"> <div class="line-num1">178</div> <div class="line-num2">175</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">Hook into the DSL in your base controller(s):</span> </div> </td> </tr><tr> <td id="d2h-027470-1101" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1101"> <div class="line-num1">179</div> <div class="line-num2">176</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-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -202,7 +199,7 @@ class AuthenticatedApiController &lt; ApiBaseController</div> </td> </tr><tr> <td id="d2h-027470-1118" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1118"> <div class="line-num1">202</div> <div class="line-num2">199</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-027470-1129" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1129"> <div class="line-num1">203</div> <div class="line-num2">200</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-027470-1140" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1140"> <div class="line-num1">204</div> <div class="line-num2">201</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">205</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">#### How <del>to</del> use context in my types?</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">202</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">#### How <ins>do</ins> <ins>I </ins>use context in my types?</span> </div> </td> </tr><tr> <td id="d2h-027470-1173" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1173"> <div class="line-num1">206</div> <div class="line-num2">203</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-027470-1184" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1184"> <div class="line-num1">207</div> <div class="line-num2">204</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">Use [ActiveSupport::CurrentAttributes](https:&#x2F;&#x2F;api.rubyonrails.org&#x2F;classes&#x2F;ActiveSupport&#x2F;CurrentAttributes.html).</span> </div> </td> </tr><tr> <td id="d2h-027470-1195" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1195"> <div class="line-num1">208</div> <div class="line-num2">205</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-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -216,13 +213,80 @@ class BikeType &lt; ObjectType</div> </td> </tr><tr> <td id="d2h-027470-1212" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1212"> <div class="line-num1">216</div> <div class="line-num2">213</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-027470-1223" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1223"> <div class="line-num1">217</div> <div class="line-num2">214</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-027470-1234" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1234"> <div class="line-num1">218</div> <div class="line-num2">215</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-027470-1245" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1245"> <div class="line-num1"></div> <div class="line-num2">216</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">#### How do I migrate from apipie-rails?</span> </div> </td> </tr><tr> <td id="d2h-027470-1256" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1256"> <div class="line-num1"></div> <div class="line-num2">217</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-027470-1267" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1267"> <div class="line-num1"></div> <div class="line-num2">218</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">First of all, if you don&#x27;t need a better OpenAPI export, or better support for hashes and arrays, it might not be worth it.</span> </div> </td> </tr><tr> <td id="d2h-027470-1278" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1278"> <div class="line-num1"></div> <div class="line-num2">219</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-027470-1289" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1289"> <div class="line-num1"></div> <div class="line-num2">220</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 you do:</span> </div> </td> </tr><tr> <td id="d2h-027470-1300" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1300"> <div class="line-num1"></div> <div class="line-num2">221</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-027470-1311" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1311"> <div class="line-num1"></div> <div class="line-num2">222</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">- note that `taro` currently only supports the latest OpenAPI standard (instead of v2 like `apipie-rails`)</span> </div> </td> </tr><tr> <td id="d2h-027470-1322" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1322"> <div class="line-num1"></div> <div class="line-num2">223</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">- extract complex param declarations into InputTypes</span> </div> </td> </tr><tr> <td id="d2h-027470-1333" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1333"> <div class="line-num1"></div> <div class="line-num2">224</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">- extract complex response declarations into ObjectTypes</span> </div> </td> </tr><tr> <td id="d2h-027470-1344" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1344"> <div class="line-num1"></div> <div class="line-num2">225</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">- replace `required: true` with `null: false` and `required: false` with `null: true`</span> </div> </td> </tr><tr> <td id="d2h-027470-1355" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1355"> <div class="line-num1"></div> <div class="line-num2">226</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-027470-1366" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1366"> <div class="line-num1"></div> <div class="line-num2">227</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">For a step-by-step migration, you might want to make `taro` use a different DSL then `apipie`:</span> </div> </td> </tr><tr> <td id="d2h-027470-1377" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1377"> <div class="line-num1"></div> <div class="line-num2">228</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-027470-1388" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1388"> <div class="line-num1"></div> <div class="line-num2">229</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">```ruby</span> </div> </td> </tr><tr> <td id="d2h-027470-1399" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1399"> <div class="line-num1"></div> <div class="line-num2">230</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"># config&#x2F;initializers&#x2F;taro.rb</span> </div> </td> </tr><tr> <td id="d2h-027470-1410" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1410"> <div class="line-num1"></div> <div class="line-num2">231</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">%i[api param returns].each do |m|</span> </div> </td> </tr><tr> <td id="d2h-027470-1421" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1421"> <div class="line-num1"></div> <div class="line-num2">232</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"> Taro::Rails::DSL.alias_method(&quot;taro_#{m}&quot;, m) # `taro_api` etc.</span> </div> </td> </tr><tr> <td id="d2h-027470-1432" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1432"> <div class="line-num1"></div> <div class="line-num2">233</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"> Taro::Rails::DSL.define_method(m) { |*a, **k, &amp;b| super(*a, **k, &amp;b) }</span> </div> </td> </tr><tr> <td id="d2h-027470-1443" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1443"> <div class="line-num1"></div> <div class="line-num2">234</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-027470-1454" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1454"> <div class="line-num1"></div> <div class="line-num2">235</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-027470-1465" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1465"> <div class="line-num1"></div> <div class="line-num2">236</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-027470-1476" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1476"> <div class="line-num1"></div> <div class="line-num2">237</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">#### How do I keep lengthy API descriptions out of my controller?</span> </div> </td> </tr><tr> <td id="d2h-027470-1487" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1487"> <div class="line-num1"></div> <div class="line-num2">238</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-027470-1498" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1498"> <div class="line-num1"></div> <div class="line-num2">239</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">```ruby</span> </div> </td> </tr><tr> <td id="d2h-027470-1509" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1509"> <div class="line-num1"></div> <div class="line-num2">240</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 BikeUpdateDesc</span> </div> </td> </tr><tr> <td id="d2h-027470-1520" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1520"> <div class="line-num1"></div> <div class="line-num2">241</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"> extend ActiveSupport::Concern</span> </div> </td> </tr><tr> <td id="d2h-027470-1531" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1531"> <div class="line-num1"></div> <div class="line-num2">242</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-027470-1542" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1542"> <div class="line-num1"></div> <div class="line-num2">243</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"> included do</span> </div> </td> </tr><tr> <td id="d2h-027470-1553" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1553"> <div class="line-num1"></div> <div class="line-num2">244</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"> api &#x27;Update a bike&#x27;, description: &#x27;Long description&#x27;, tags: [&#x27;Bikes&#x27;]</span> </div> </td> </tr><tr> <td id="d2h-027470-1564" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1564"> <div class="line-num1"></div> <div class="line-num2">245</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"> # lots of params and returns ...</span> </div> </td> </tr><tr> <td id="d2h-027470-1575" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1575"> <div class="line-num1"></div> <div class="line-num2">246</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-027470-1586" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1586"> <div class="line-num1"></div> <div class="line-num2">247</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-027470-1597" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1597"> <div class="line-num1"></div> <div class="line-num2">248</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-027470-1608" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1608"> <div class="line-num1"></div> <div class="line-num2">249</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 BikesController &lt; ApplicationController</span> </div> </td> </tr><tr> <td id="d2h-027470-1619" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1619"> <div class="line-num1"></div> <div class="line-num2">250</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 BikeUpdateDesc</span> </div> </td> </tr><tr> <td id="d2h-027470-1630" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1630"> <div class="line-num1"></div> <div class="line-num2">251</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 update # ...</span> </div> </td> </tr><tr> <td id="d2h-027470-1641" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1641"> <div class="line-num1"></div> <div class="line-num2">252</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-027470-1652" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1652"> <div class="line-num1"></div> <div class="line-num2">253</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-027470-1663" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1663"> <div class="line-num1"></div> <div class="line-num2">254</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-027470-1674" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1674"> <div class="line-num1">219</div> <div class="line-num2">255</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">#### Why do I have to use type name strings instead of the type constants?</span> </div> </td> </tr><tr> <td id="d2h-027470-1685" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1685"> <div class="line-num1">220</div> <div class="line-num2">256</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-027470-1696" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1696"> <div class="line-num1">221</div> <div class="line-num2">257</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">Why e.g. `field :id, type: &#x27;UUID&#x27;` instead of `field :id, type: UUID`?</span> </div> </td> </tr><tr> <td id="d2h-027470-1707" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1707"> <div class="line-num1">222</div> <div class="line-num2">258</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-027470-1718" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1718"> <div class="line-num1">223</div> <div class="line-num2">259</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">The purpose of this is to reduce unnecessary autoloading of the whole type dependency tree in dev and test environments.</span> </div> </td> </tr><tr> <td id="d2h-027470-1729" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-1729"> <div class="line-num1">224</div> <div class="line-num2">260</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">225</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>This</del> <del>already</del> <del>works</del> <del>fo</del> <del>type</del> <del>classes</del> <del>–</del> <del>they don&#x27;t trigger loading of referenced </del>types <del>unless</del> <del>used.</del> <del>The</del> <del>API declarations in controller classes still trigger auto-loading for now, but we aim to improve this in the future.</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">261</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>Can</ins> <ins>I</ins> <ins>define</ins> <ins>my</ins> <ins>own</ins> <ins>derived</ins> types <ins>like</ins> <ins>`page_of`</ins> <ins>or</ins> <ins>`array_of`?</ins></span> </div> </td> </tr><tr> <td id="d2h-027470-1762" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1762"> <div class="line-num1"></div> <div class="line-num2">262</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-027470-1773" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1773"> <div class="line-num1"></div> <div class="line-num2">263</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">Yes.</span> </div> </td> </tr><tr> <td id="d2h-027470-1784" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1784"> <div class="line-num1"></div> <div class="line-num2">264</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-027470-1795" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1795"> <div class="line-num1"></div> <div class="line-num2">265</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">```ruby</span> </div> </td> </tr><tr> <td id="d2h-027470-1806" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1806"> <div class="line-num1"></div> <div class="line-num2">266</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"># Implement ::derive_from in your custom type.</span> </div> </td> </tr><tr> <td id="d2h-027470-1817" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1817"> <div class="line-num1"></div> <div class="line-num2">267</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 PreviewType &lt; Taro::Types::Scalar::StringType</span> </div> </td> </tr><tr> <td id="d2h-027470-1828" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1828"> <div class="line-num1"></div> <div class="line-num2">268</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"> singleton_class.attr_reader :type_to_preview</span> </div> </td> </tr><tr> <td id="d2h-027470-1839" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1839"> <div class="line-num1"></div> <div class="line-num2">269</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-027470-1850" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1850"> <div class="line-num1"></div> <div class="line-num2">270</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 self.derive_from(other_type)</span> </div> </td> </tr><tr> <td id="d2h-027470-1861" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1861"> <div class="line-num1"></div> <div class="line-num2">271</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"> self.type_to_preview = other_type</span> </div> </td> </tr><tr> <td id="d2h-027470-1872" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1872"> <div class="line-num1"></div> <div class="line-num2">272</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-027470-1883" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1883"> <div class="line-num1"></div> <div class="line-num2">273</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-027470-1894" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1894"> <div class="line-num1"></div> <div class="line-num2">274</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 coerce_response</span> </div> </td> </tr><tr> <td id="d2h-027470-1905" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1905"> <div class="line-num1"></div> <div class="line-num2">275</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"> type_to_preview.new(object).coerce_response.to_s.truncate(100)</span> </div> </td> </tr><tr> <td id="d2h-027470-1916" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1916"> <div class="line-num1"></div> <div class="line-num2">276</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-027470-1927" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1927"> <div class="line-num1"></div> <div class="line-num2">277</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-027470-1938" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1938"> <div class="line-num1"></div> <div class="line-num2">278</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-027470-1949" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1949"> <div class="line-num1"></div> <div class="line-num2">279</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"># Make it available in the DSL, e.g. in an initializer.</span> </div> </td> </tr><tr> <td id="d2h-027470-1960" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1960"> <div class="line-num1"></div> <div class="line-num2">280</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">Taro::Types::BaseType.define_derived_type :preview, &#x27;PreviewType&#x27;</span> </div> </td> </tr><tr> <td id="d2h-027470-1971" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1971"> <div class="line-num1"></div> <div class="line-num2">281</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-027470-1982" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1982"> <div class="line-num1"></div> <div class="line-num2">282</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"># Usage:</span> </div> </td> </tr><tr> <td id="d2h-027470-1993" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-1993"> <div class="line-num1"></div> <div class="line-num2">283</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 MyController &lt; ApplicationController</span> </div> </td> </tr><tr> <td id="d2h-027470-2004" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-2004"> <div class="line-num1"></div> <div class="line-num2">284</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"> returns code: :ok, preview_of: &#x27;BikeType&#x27;</span> </div> </td> </tr><tr> <td id="d2h-027470-2015" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-2015"> <div class="line-num1"></div> <div class="line-num2">285</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 show</span> </div> </td> </tr><tr> <td id="d2h-027470-2026" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-2026"> <div class="line-num1"></div> <div class="line-num2">286</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"> render json: BikeType.preview.render(Bike.find(params[:id]))</span> </div> </td> </tr><tr> <td id="d2h-027470-2037" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-2037"> <div class="line-num1"></div> <div class="line-num2">287</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-027470-2048" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-2048"> <div class="line-num1"></div> <div class="line-num2">288</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-027470-2059" class="d2h-code-linenumber d2h-ins"><a href="#d2h-027470-2059"> <div class="line-num1"></div> <div class="line-num2">289</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-027470-2070" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2070"> <div class="line-num1">226</div> <div class="line-num2">290</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-027470-2081" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2081"> <div class="line-num1">227</div> <div class="line-num2">291</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">## Possible future features</span> </div> </td> </tr><tr> <td id="d2h-027470-2092" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2092"> <div class="line-num1">228</div> <div class="line-num2">292</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-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -232,7 +296,6 @@ This already works fo type classes – they don&#x27;t trigger loading of referenced</div> </td> </tr><tr> <td id="d2h-027470-2109" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2109"> <div class="line-num1">232</div> <div class="line-num2">296</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">- sum types</span> </div> </td> </tr><tr> <td id="d2h-027470-2120" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2120"> <div class="line-num1">233</div> <div class="line-num2">297</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">- api doc rendering based on export (e.g. rails engine with web ui)</span> </div> </td> </tr><tr> <td id="d2h-027470-2131" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2131"> <div class="line-num1">234</div> <div class="line-num2">298</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">- [query logs metadata](https:&#x2F;&#x2F;github.com&#x2F;rmosolgo&#x2F;graphql-ruby&#x2F;blob&#x2F;dcaaed1cea47394fad61fceadf291ff3cb5f2932&#x2F;lib&#x2F;generators&#x2F;graphql&#x2F;install_generator.rb#L48-L52)</span> </div> </td> </tr><tr> <td id="d2h-027470-2142" class="d2h-code-linenumber d2h-del"><a href="#d2h-027470-2142"> <div class="line-num1">235</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">- deprecation feature</span> </div> </td> </tr><tr> <td id="d2h-027470-2153" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2153"> <div class="line-num1">236</div> <div class="line-num2">299</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">- maybe make `type:` optional for path params as they&#x27;re always strings anyway</span> </div> </td> </tr><tr> <td id="d2h-027470-2164" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2164"> <div class="line-num1">237</div> <div class="line-num2">300</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">- various openapi features</span> </div> </td> </tr><tr> <td id="d2h-027470-2175" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-027470-2175"> <div class="line-num1">238</div> <div class="line-num2">301</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"> - non-JSON content types (e.g. for file uploads)</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-619843" 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-619843">data/lib/taro/errors.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,4 +1,10 @@</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">class Taro::Error &lt; StandardError<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">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">class Taro::Error &lt; StandardError</span> </div> </td> </tr><tr> <td id="d2h-619843-2235" class="d2h-code-linenumber d2h-ins"><a href="#d2h-619843-2235"> <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"> def message</span> </div> </td> </tr><tr> <td id="d2h-619843-2246" class="d2h-code-linenumber d2h-ins"><a href="#d2h-619843-2246"> <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"> # clean up newlines introduced when setting the message with a heredoc</span> </div> </td> </tr><tr> <td id="d2h-619843-2257" class="d2h-code-linenumber d2h-ins"><a href="#d2h-619843-2257"> <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"> super.chomp.sub(&#x2F;\n(?=\S)&#x2F;, &#x27; &#x27;)</span> </div> </td> </tr><tr> <td id="d2h-619843-2268" class="d2h-code-linenumber d2h-ins"><a href="#d2h-619843-2268"> <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"> end</span> </div> </td> </tr><tr> <td id="d2h-619843-2279" class="d2h-code-linenumber d2h-ins"><a href="#d2h-619843-2279"> <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">end</span> </div> </td> </tr><tr> <td id="d2h-619843-2290" class="d2h-code-linenumber d2h-ins"><a href="#d2h-619843-2290"> <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-619843-2301" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-619843-2301"> <div class="line-num1">2</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">class Taro::ArgumentError &lt; Taro::Error; end</span> </div> </td> </tr><tr> <td id="d2h-619843-2312" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-619843-2312"> <div class="line-num1">3</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">class Taro::RuntimeError &lt; Taro::Error; end</span> </div> </td> </tr><tr> <td id="d2h-619843-2323" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-619843-2323"> <div class="line-num1">4</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">class Taro::ValidationError &lt; Taro::RuntimeError; end # not to be used directly</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-729228" 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-729228">data/lib/taro/export/open_api_v3.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">@@ -11,15 +11,16 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-2361" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2361"> <div class="line-num1">11</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"> def call(declarations:, title:, version:)</span> </div> </td> </tr><tr> <td id="d2h-729228-2372" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2372"> <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"> @result = { openapi: &#x27;3.1.0&#x27;, info: { title:, version: } }</span> </div> </td> </tr><tr> <td id="d2h-729228-2383" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2383"> <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"> paths = export_paths(declarations)</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"> @result[:paths] = paths if paths.any?</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"> @result[:components] = { schemas: } if schemas.any?</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">14</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"> @result[:paths] = paths<ins>.sort.to_h</ins> if paths.any?</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"> @result[:components] = { schemas: <ins>schemas.sort.to_h </ins>} if schemas.any?</span> </div> </td> </tr><tr> <td id="d2h-729228-2438" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2438"> <div class="line-num1">16</div> <div class="line-num2">16</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"> self</span> </div> </td> </tr><tr> <td id="d2h-729228-2449" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2449"> <div class="line-num1">17</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"> end</span> </div> </td> </tr><tr> <td id="d2h-729228-2460" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2460"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-729228-2471" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2471"> <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"> def export_paths(declarations)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">20</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"> declarations.each_with_object({}) do |declaration, paths|</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"> declarations.<ins>sort.</ins>each_with_object({}) do |declaration, paths|</span> </div> </td> </tr><tr> <td id="d2h-729228-2504" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2504"> <div class="line-num1">21</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"> declaration.routes.each do |route|</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">22</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"> paths[route.openapi_path] <del>=</del> <del>export_route(route, declaration)</del></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"> paths[route.openapi_path] <ins>||=</ins> <ins>{}</ins></span> </div> </td> </tr><tr> <td id="d2h-729228-2537" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2537"> <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"> paths[route.openapi_path].merge! export_route(route, declaration)</span> </div> </td> </tr><tr> <td id="d2h-729228-2548" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2548"> <div class="line-num1">23</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"> end</span> </div> </td> </tr><tr> <td id="d2h-729228-2559" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2559"> <div class="line-num1">24</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"> end</span> </div> </td> </tr><tr> <td id="d2h-729228-2570" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2570"> <div class="line-num1">25</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"> end</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -30,30 +31,51 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-2587" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2587"> <div class="line-num1">30</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"> description: declaration.desc,</span> </div> </td> </tr><tr> <td id="d2h-729228-2598" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2598"> <div class="line-num1">31</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"> summary: declaration.summary,</span> </div> </td> </tr><tr> <td id="d2h-729228-2609" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2609"> <div class="line-num1">32</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"> tags: declaration.tags,</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"> parameters: <del>path_parameters</del>(declaration, route),</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"> parameters: <ins>route_parameters</ins>(declaration, route),</span> </div> </td> </tr><tr> <td id="d2h-729228-2642" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2642"> <div class="line-num1">34</div> <div class="line-num2">35</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"> requestBody: request_body(declaration, route),</span> </div> </td> </tr><tr> <td id="d2h-729228-2653" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2653"> <div class="line-num1">35</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"> responses: responses(declaration),</span> </div> </td> </tr><tr> <td id="d2h-729228-2664" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2664"> <div class="line-num1">36</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"> }.compact,</span> </div> </td> </tr><tr> <td id="d2h-729228-2675" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2675"> <div class="line-num1">37</div> <div class="line-num2">38</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-729228-2686" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2686"> <div class="line-num1">38</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-729228-2697" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2697"> <div class="line-num1">39</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-729228-2708" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2708"> <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"> def route_parameters(declaration, route)</span> </div> </td> </tr><tr> <td id="d2h-729228-2719" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2719"> <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"> path_parameters(declaration, route) + query_parameters(declaration, route)</span> </div> </td> </tr><tr> <td id="d2h-729228-2730" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2730"> <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"> end</span> </div> </td> </tr><tr> <td id="d2h-729228-2741" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2741"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-729228-2752" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2752"> <div class="line-num1">40</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"> def path_parameters(declaration, route)</span> </div> </td> </tr><tr> <td id="d2h-729228-2763" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2763"> <div class="line-num1">41</div> <div class="line-num2">46</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.path_params.map do |param_name|</span> </div> </td> </tr><tr> <td id="d2h-729228-2774" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2774"> <div class="line-num1">42</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"> param_field = declaration.params.fields[param_name] || raise(&lt;&lt;~MSG)</span> </div> </td> </tr><tr> <td id="d2h-729228-2785" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2785"> <div class="line-num1">43</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"> Declaration missing for path param #{param_name} of route #{route.endpoint}</span> </div> </td> </tr><tr> <td id="d2h-729228-2796" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2796"> <div class="line-num1">44</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"> MSG</span> </div> </td> </tr><tr> <td id="d2h-729228-2807" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2807"> <div class="line-num1">45</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 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>{</del></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> name</del>: <del>param_field.name</del>,</span> </div> </td> </tr><tr> <td id="d2h-729228-2840" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-2840"> <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"> in: &#x27;path&#x27;,</span> </div> </td> </tr><tr> <td id="d2h-729228-2851" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-2851"> <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"> description: param_field.desc,</span> </div> </td> </tr><tr> <td id="d2h-729228-2862" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-2862"> <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"> required: true, # path params are always required in rails</span> </div> </td> </tr><tr> <td id="d2h-729228-2873" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-2873"> <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"> schema: { type: param_field.openapi_type },</span> </div> </td> </tr><tr> <td id="d2h-729228-2884" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-2884"> <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"> }.compact</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">51</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># path params are always required in rails</ins></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> export_parameter(param_field).merge(in</ins>: <ins>&#x27;path&#x27;</ins>,<ins> required: true)</ins></span> </div> </td> </tr><tr> <td id="d2h-729228-2917" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2917"> <div class="line-num1">53</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"> end</span> </div> </td> </tr><tr> <td id="d2h-729228-2928" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2928"> <div class="line-num1">54</div> <div class="line-num2">54</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-729228-2939" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-2939"> <div class="line-num1">55</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-729228-2950" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2950"> <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 query_parameters(declaration, route)</span> </div> </td> </tr><tr> <td id="d2h-729228-2961" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2961"> <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"> return [] if route.can_have_request_body?</span> </div> </td> </tr><tr> <td id="d2h-729228-2972" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2972"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-729228-2983" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2983"> <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"> declaration.params.fields.filter_map do |name, param_field|</span> </div> </td> </tr><tr> <td id="d2h-729228-2994" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-2994"> <div class="line-num1"></div> <div class="line-num2">60</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"> next if route.path_params.include?(name)</span> </div> </td> </tr><tr> <td id="d2h-729228-3005" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3005"> <div class="line-num1"></div> <div class="line-num2">61</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-729228-3016" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3016"> <div class="line-num1"></div> <div class="line-num2">62</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"> export_parameter(param_field).merge(in: &#x27;query&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-729228-3027" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3027"> <div class="line-num1"></div> <div class="line-num2">63</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-729228-3038" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3038"> <div class="line-num1"></div> <div class="line-num2">64</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-729228-3049" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3049"> <div class="line-num1"></div> <div class="line-num2">65</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-729228-3060" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3060"> <div class="line-num1"></div> <div class="line-num2">66</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 export_parameter(field)</span> </div> </td> </tr><tr> <td id="d2h-729228-3071" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3071"> <div class="line-num1"></div> <div class="line-num2">67</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-729228-3082" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3082"> <div class="line-num1"></div> <div class="line-num2">68</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: field.name,</span> </div> </td> </tr><tr> <td id="d2h-729228-3093" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3093"> <div class="line-num1"></div> <div class="line-num2">69</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"> deprecated: field.deprecated,</span> </div> </td> </tr><tr> <td id="d2h-729228-3104" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3104"> <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"> description: field.desc,</span> </div> </td> </tr><tr> <td id="d2h-729228-3115" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3115"> <div class="line-num1"></div> <div class="line-num2">71</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"> required: !field.null,</span> </div> </td> </tr><tr> <td id="d2h-729228-3126" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3126"> <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"> schema: { type: field.openapi_type },</span> </div> </td> </tr><tr> <td id="d2h-729228-3137" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3137"> <div class="line-num1"></div> <div class="line-num2">73</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"> }.compact</span> </div> </td> </tr><tr> <td id="d2h-729228-3148" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3148"> <div class="line-num1"></div> <div class="line-num2">74</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-729228-3159" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3159"> <div class="line-num1"></div> <div class="line-num2">75</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-729228-3170" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3170"> <div class="line-num1">56</div> <div class="line-num2">76</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 request_body(declaration, route)</span> </div> </td> </tr><tr> <td id="d2h-729228-3181" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3181"> <div class="line-num1"></div> <div class="line-num2">77</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"> return unless route.can_have_request_body?</span> </div> </td> </tr><tr> <td id="d2h-729228-3192" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3192"> <div class="line-num1"></div> <div class="line-num2">78</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-729228-3203" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3203"> <div class="line-num1">57</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"> params = declaration.params</span> </div> </td> </tr><tr> <td id="d2h-729228-3214" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3214"> <div class="line-num1">58</div> <div class="line-num2">80</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"> body_param_fields = params.fields.reject do |name, _field|</span> </div> </td> </tr><tr> <td id="d2h-729228-3225" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3225"> <div class="line-num1">59</div> <div class="line-num2">81</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.path_params.include?(name)</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -81,7 +103,7 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-3242" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3242"> <div class="line-num1">81</div> <div class="line-num2">103</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-729228-3253" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3253"> <div class="line-num1">82</div> <div class="line-num2">104</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-729228-3264" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3264"> <div class="line-num1">83</div> <div class="line-num2">105</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 responses(declaration)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">84</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"> declaration.returns.to_h do |code, type|</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">106</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"> declaration.returns.<ins>sort.</ins>to_h do |code, type|</span> </div> </td> </tr><tr> <td id="d2h-729228-3297" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3297"> <div class="line-num1">85</div> <div class="line-num2">107</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-729228-3308" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3308"> <div class="line-num1">86</div> <div class="line-num2">108</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"> code.to_s,</span> </div> </td> </tr><tr> <td id="d2h-729228-3319" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3319"> <div class="line-num1">87</div> <div class="line-num2">109</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 class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -114,23 +136,29 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-3336" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3336"> <div class="line-num1">114</div> <div class="line-num2">136</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"> # as it puts props like format together with the main type.</span> </div> </td> </tr><tr> <td id="d2h-729228-3347" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3347"> <div class="line-num1">115</div> <div class="line-num2">137</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"> # https:&#x2F;&#x2F;github.com&#x2F;OAI&#x2F;OpenAPI-Specification&#x2F;issues&#x2F;3148</span> </div> </td> </tr><tr> <td id="d2h-729228-3358" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3358"> <div class="line-num1">116</div> <div class="line-num2">138</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"> base = { oneOf: [base, { type: &#x27;null&#x27; }] } if field.null</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">117</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"> base<del>[:description] = field</del>.<del>desc if </del>field<del>.desc</del></span> </div> </td> </tr><tr> <td id="d2h-729228-3380" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-3380"> <div class="line-num1">118</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"> base[:default] = field.default if field.default_specified?</span> </div> </td> </tr><tr> <td id="d2h-729228-3391" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-3391"> <div class="line-num1">119</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"> base[:enum] = field.enum if field.enum</span> </div> </td> </tr><tr> <td id="d2h-729228-3402" class="d2h-code-linenumber d2h-del"><a href="#d2h-729228-3402"> <div class="line-num1">120</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"> base</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">139</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"> base.<ins>merge(field_metadata(</ins>field<ins>))</ins></span> </div> </td> </tr><tr> <td id="d2h-729228-3424" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3424"> <div class="line-num1">121</div> <div class="line-num2">140</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-729228-3435" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3435"> <div class="line-num1">122</div> <div class="line-num2">141</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-729228-3446" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3446"> <div class="line-num1">123</div> <div class="line-num2">142</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 export_complex_field_ref(field)</span> </div> </td> </tr><tr> <td id="d2h-729228-3457" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3457"> <div class="line-num1">124</div> <div class="line-num2">143</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"> ref = extract_component_ref(field.type)</span> </div> </td> </tr><tr> <td id="d2h-729228-3468" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3468"> <div class="line-num1"></div> <div class="line-num2">144</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"> return ref if field_metadata(field).empty? &amp;&amp; !field.null</span> </div> </td> </tr><tr> <td id="d2h-729228-3479" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3479"> <div class="line-num1"></div> <div class="line-num2">145</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-729228-3490" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3490"> <div class="line-num1">125</div> <div class="line-num2">146</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"> if field.null</span> </div> </td> </tr><tr> <td id="d2h-729228-3501" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3501"> <div class="line-num1">126</div> <div class="line-num2">147</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"> # RE nullable: https:&#x2F;&#x2F;stackoverflow.com&#x2F;a&#x2F;70658334</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">127</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>description: field.desc, </del>oneOf: [ref, { type: &#x27;null&#x27; }] }<del>.compact</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">128</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>elsif</del> <del>field</del>.<del>desc</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">148</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"> { oneOf: [ref, { type: &#x27;null&#x27; }] }</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">149</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>else</ins> <ins># i</ins>.<ins>e. with metadata such as description or deprecated</ins></span> </div> </td> </tr><tr> <td id="d2h-729228-3556" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3556"> <div class="line-num1">129</div> <div class="line-num2">150</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"> # https:&#x2F;&#x2F;github.com&#x2F;OAI&#x2F;OpenAPI-Specification&#x2F;issues&#x2F;2033</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">130</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>description: field.desc, </del>allOf: [ref] }</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">131</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>else</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">132</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> ref</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">133</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">151</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"> { allOf: [ref] }</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">152</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.merge(field_metadata(field))</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">153</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 class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">154</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"><br></span> </div> </td> </tr><tr> <td id="d2h-729228-3655" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3655"> <div class="line-num1"></div> <div class="line-num2">155</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 field_metadata(field)</span> </div> </td> </tr><tr> <td id="d2h-729228-3666" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3666"> <div class="line-num1"></div> <div class="line-num2">156</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"> meta = {}</span> </div> </td> </tr><tr> <td id="d2h-729228-3677" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3677"> <div class="line-num1"></div> <div class="line-num2">157</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"> meta[:description] = field.desc if field.desc</span> </div> </td> </tr><tr> <td id="d2h-729228-3688" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3688"> <div class="line-num1"></div> <div class="line-num2">158</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"> meta[:deprecated] = field.deprecated unless field.deprecated.nil?</span> </div> </td> </tr><tr> <td id="d2h-729228-3699" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3699"> <div class="line-num1"></div> <div class="line-num2">159</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"> meta[:default] = field.default if field.default_specified?</span> </div> </td> </tr><tr> <td id="d2h-729228-3710" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3710"> <div class="line-num1"></div> <div class="line-num2">160</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"> meta[:enum] = field.enum if field.enum</span> </div> </td> </tr><tr> <td id="d2h-729228-3721" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3721"> <div class="line-num1"></div> <div class="line-num2">161</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"> meta</span> </div> </td> </tr><tr> <td id="d2h-729228-3732" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3732"> <div class="line-num1">134</div> <div class="line-num2">162</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-729228-3743" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3743"> <div class="line-num1">135</div> <div class="line-num2">163</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-729228-3754" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3754"> <div class="line-num1">136</div> <div class="line-num2">164</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 extract_component_ref(type)</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -155,6 +183,7 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-3771" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3771"> <div class="line-num1">155</div> <div class="line-num2">183</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"> required = type.fields.values.reject(&amp;:null).map(&amp;:name)</span> </div> </td> </tr><tr> <td id="d2h-729228-3782" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3782"> <div class="line-num1">156</div> <div class="line-num2">184</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-729228-3793" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3793"> <div class="line-num1">157</div> <div class="line-num2">185</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"> type: type.openapi_type,</span> </div> </td> </tr><tr> <td id="d2h-729228-3804" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3804"> <div class="line-num1"></div> <div class="line-num2">186</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"> deprecated: type.deprecated,</span> </div> </td> </tr><tr> <td id="d2h-729228-3815" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3815"> <div class="line-num1">158</div> <div class="line-num2">187</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: type.desc,</span> </div> </td> </tr><tr> <td id="d2h-729228-3826" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3826"> <div class="line-num1">159</div> <div class="line-num2">188</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"> required: (required if required.any?),</span> </div> </td> </tr><tr> <td id="d2h-729228-3837" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3837"> <div class="line-num1">160</div> <div class="line-num2">189</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"> properties: type.fields.to_h { |name, f| [name, export_field(f)] },</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -165,6 +194,7 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-3854" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3854"> <div class="line-num1">165</div> <div class="line-num2">194</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 enum_type_details(enum)</span> </div> </td> </tr><tr> <td id="d2h-729228-3865" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3865"> <div class="line-num1">166</div> <div class="line-num2">195</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-729228-3876" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3876"> <div class="line-num1">167</div> <div class="line-num2">196</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"> type: enum.item_type.openapi_type,</span> </div> </td> </tr><tr> <td id="d2h-729228-3887" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3887"> <div class="line-num1"></div> <div class="line-num2">197</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"> deprecated: enum.deprecated,</span> </div> </td> </tr><tr> <td id="d2h-729228-3898" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3898"> <div class="line-num1">168</div> <div class="line-num2">198</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: enum.desc,</span> </div> </td> </tr><tr> <td id="d2h-729228-3909" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3909"> <div class="line-num1">169</div> <div class="line-num2">199</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"> enum: enum.values,</span> </div> </td> </tr><tr> <td id="d2h-729228-3920" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3920"> <div class="line-num1">170</div> <div class="line-num2">200</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"> }.compact</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -173,6 +203,7 @@ class Taro::Export::OpenAPIv3 &lt; Taro::Export::Base # rubocop:disable Metrics&#x2F;Cla</div> </td> </tr><tr> <td id="d2h-729228-3937" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3937"> <div class="line-num1">173</div> <div class="line-num2">203</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 list_type_details(list)</span> </div> </td> </tr><tr> <td id="d2h-729228-3948" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3948"> <div class="line-num1">174</div> <div class="line-num2">204</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-729228-3959" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3959"> <div class="line-num1">175</div> <div class="line-num2">205</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"> type: &#x27;array&#x27;,</span> </div> </td> </tr><tr> <td id="d2h-729228-3970" class="d2h-code-linenumber d2h-ins"><a href="#d2h-729228-3970"> <div class="line-num1"></div> <div class="line-num2">206</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"> deprecated: list.deprecated,</span> </div> </td> </tr><tr> <td id="d2h-729228-3981" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3981"> <div class="line-num1">176</div> <div class="line-num2">207</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: list.desc,</span> </div> </td> </tr><tr> <td id="d2h-729228-3992" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-3992"> <div class="line-num1">177</div> <div class="line-num2">208</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"> items: export_type(list.item_type),</span> </div> </td> </tr><tr> <td id="d2h-729228-4003" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-729228-4003"> <div class="line-num1">178</div> <div class="line-num2">209</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"> }.compact</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-149904" 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-149904">data/lib/taro/rails/active_declarations.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">@@ -2,7 +2,7 @@ module Taro::Rails::ActiveDeclarations</div> </td> </tr><tr> <td id="d2h-149904-4041" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-149904-4041"> <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"> def apply(declaration:, controller_class:, action_name:)</span> </div> </td> </tr><tr> <td id="d2h-149904-4052" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-149904-4052"> <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"> (declarations_map[controller_class] ||= {})[action_name] = declaration</span> </div> </td> </tr><tr> <td id="d2h-149904-4063" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-149904-4063"> <div class="line-num1">4</div> <div class="line-num2">4</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"> Taro::Rails::ParamParsing.install(controller_class:, action_name:)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">5</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"> Taro::Rails::ResponseValidation.install(controller_class<del>:, action_name</del>:)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">5</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"> Taro::Rails::ResponseValidation.install(controller_class:)</span> </div> </td> </tr><tr> <td id="d2h-149904-4096" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-149904-4096"> <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"> end</span> </div> </td> </tr><tr> <td id="d2h-149904-4107" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-149904-4107"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-149904-4118" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-149904-4118"> <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"> def declarations_map</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-070248" 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-070248">data/lib/taro/rails/declaration.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,9 @@</div> </td> </tr><tr> <td id="d2h-070248-4156" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4156"> <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">class Taro::Rails::Declaration</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"> attr_reader :desc, :summary, :params, :<del>returns</del>, :return_descriptions, :return_nestings, :routes, :tags</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"> attr_reader :desc, :summary, :params, :<ins>return_defs</ins>, :return_descriptions, :return_nestings, :routes, :tags</span> </div> </td> </tr><tr> <td id="d2h-070248-4189" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4189"> <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 id="d2h-070248-4200" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4200"> <div class="line-num1">4</div> <div class="line-num2">4</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</span> </div> </td> </tr><tr> <td id="d2h-070248-4211" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4211"> <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"> @params = Class.new(Taro::Types::InputType)</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>returns</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>return_defs</ins> = {}</span> </div> </td> </tr><tr> <td id="d2h-070248-4244" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4244"> <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"> @return_descriptions = {}</span> </div> </td> </tr><tr> <td id="d2h-070248-4255" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4255"> <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"> @return_nestings = {}</span> </div> </td> </tr><tr> <td id="d2h-070248-4266" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4266"> <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"> end</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -24,8 +24,11 @@ class Taro::Rails::Declaration</div> </td> </tr><tr> <td id="d2h-070248-4283" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4283"> <div class="line-num1">24</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"> status = self.class.coerce_status_to_int(code)</span> </div> </td> </tr><tr> <td id="d2h-070248-4294" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4294"> <div class="line-num1">25</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"> raise_if_already_declared(status)</span> </div> </td> </tr><tr> <td id="d2h-070248-4305" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4305"> <div class="line-num1">26</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"><br></span> </div> </td> </tr><tr> <td id="d2h-070248-4316" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4316"> <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"> kwargs[:nesting] = nesting</span> </div> </td> </tr><tr> <td id="d2h-070248-4327" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4327"> <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"> check_return_kwargs(kwargs)</span> </div> </td> </tr><tr> <td id="d2h-070248-4338" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4338"> <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-070248-4349" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4349"> <div class="line-num1">27</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"> kwargs[:defined_at] = caller_locations(1..2)[1]</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>returns</del>[status] = <del>return_type_from(nesting, **</del>kwargs<del>)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">31</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>return_defs</ins>[status] = kwargs</span> </div> </td> </tr><tr> <td id="d2h-070248-4382" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4382"> <div class="line-num1">29</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-070248-4393" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4393"> <div class="line-num1">30</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"> # response desc is required in openapi 3 – fall back to status code</span> </div> </td> </tr><tr> <td id="d2h-070248-4404" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4404"> <div class="line-num1">31</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"> return_descriptions[status] = desc || code.to_s</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -34,14 +37,19 @@ class Taro::Rails::Declaration</div> </td> </tr><tr> <td id="d2h-070248-4421" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4421"> <div class="line-num1">34</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"> return_nestings[status] = nesting if nesting</span> </div> </td> </tr><tr> <td id="d2h-070248-4432" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4432"> <div class="line-num1">35</div> <div class="line-num2">38</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-070248-4443" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4443"> <div class="line-num1">36</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-070248-4454" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4454"> <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"> # Return types are evaluated lazily to avoid unnecessary autoloading</span> </div> </td> </tr><tr> <td id="d2h-070248-4465" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4465"> <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 all types in dev&#x2F;test envs.</span> </div> </td> </tr><tr> <td id="d2h-070248-4476" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4476"> <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"> def returns</span> </div> </td> </tr><tr> <td id="d2h-070248-4487" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4487"> <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"> @returns ||= evaluate_return_defs</span> </div> </td> </tr><tr> <td id="d2h-070248-4498" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4498"> <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"> end</span> </div> </td> </tr><tr> <td id="d2h-070248-4509" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4509"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-070248-4520" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4520"> <div class="line-num1">37</div> <div class="line-num2">46</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 raise_if_already_declared(status)</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>returns</del>[status] &amp;&amp;</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>return_defs</ins>[status] &amp;&amp;</span> </div> </td> </tr><tr> <td id="d2h-070248-4553" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4553"> <div class="line-num1">39</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"> raise(Taro::ArgumentError, &quot;response for status #{status} already declared&quot;)</span> </div> </td> </tr><tr> <td id="d2h-070248-4564" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4564"> <div class="line-num1">40</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"> end</span> </div> </td> </tr><tr> <td id="d2h-070248-4575" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4575"> <div class="line-num1">41</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-070248-4586" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4586"> <div class="line-num1">42</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"> def parse_params(rails_params)</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>hash = </del>params.new(rails_params.to_unsafe_h).coerce_input</span> </div> </td> </tr><tr> <td id="d2h-070248-4608" class="d2h-code-linenumber d2h-del"><a href="#d2h-070248-4608"> <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"> hash</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"> params.new(rails_params.to_unsafe_h).coerce_input</span> </div> </td> </tr><tr> <td id="d2h-070248-4630" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4630"> <div class="line-num1">45</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"> end</span> </div> </td> </tr><tr> <td id="d2h-070248-4641" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4641"> <div class="line-num1">46</div> <div class="line-num2">54</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-070248-4652" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4652"> <div class="line-num1">47</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"> def finalize(controller_class:, action_name:)</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -67,10 +75,15 @@ class Taro::Rails::Declaration</div> </td> </tr><tr> <td id="d2h-070248-4669" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4669"> <div class="line-num1">67</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"> # TODO: these change when the controller class is renamed.</span> </div> </td> </tr><tr> <td id="d2h-070248-4680" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4680"> <div class="line-num1">68</div> <div class="line-num2">76</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"> # We might need a way to set `base`. Perhaps as a kwarg to `::api`?</span> </div> </td> </tr><tr> <td id="d2h-070248-4691" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4691"> <div class="line-num1">69</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"> def add_openapi_names(controller_class:, action_name:)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">70</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"> base = &quot;#{controller_class.name.chomp(&#x27;Controller&#x27;).<del>sub</del>(&#x27;::&#x27;, &#x27;_&#x27;)}_#{action_name}&quot;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">78</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"> base = &quot;#{controller_class.name.chomp(&#x27;Controller&#x27;).<ins>gsub</ins>(&#x27;::&#x27;, &#x27;_&#x27;)}_#{action_name}&quot;</span> </div> </td> </tr><tr> <td id="d2h-070248-4724" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4724"> <div class="line-num1">71</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"> params.openapi_name = &quot;#{base}_Input&quot;</span> </div> </td> </tr><tr> <td id="d2h-070248-4735" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4735"> <div class="line-num1"></div> <div class="line-num2">80</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"> params.define_singleton_method(:name) { openapi_name }</span> </div> </td> </tr><tr> <td id="d2h-070248-4746" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4746"> <div class="line-num1"></div> <div class="line-num2">81</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-070248-4757" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4757"> <div class="line-num1">72</div> <div class="line-num2">82</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"> returns.each do |status, return_type|</span> </div> </td> </tr><tr> <td id="d2h-070248-4768" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4768"> <div class="line-num1"></div> <div class="line-num2">83</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"> next if return_type.openapi_name? # only set for ad-hoc &#x2F; nested return types</span> </div> </td> </tr><tr> <td id="d2h-070248-4779" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4779"> <div class="line-num1"></div> <div class="line-num2">84</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-070248-4790" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4790"> <div class="line-num1">73</div> <div class="line-num2">85</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_type.openapi_name = &quot;#{base}_#{status}_Response&quot;</span> </div> </td> </tr><tr> <td id="d2h-070248-4801" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4801"> <div class="line-num1"></div> <div class="line-num2">86</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"> return_type.define_singleton_method(:name) { openapi_name }</span> </div> </td> </tr><tr> <td id="d2h-070248-4812" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4812"> <div class="line-num1">74</div> <div class="line-num2">87</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-070248-4823" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4823"> <div class="line-num1">75</div> <div class="line-num2">88</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-070248-4834" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4834"> <div class="line-num1">76</div> <div class="line-num2">89</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-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -86,10 +99,34 @@ class Taro::Rails::Declaration</div> </td> </tr><tr> <td id="d2h-070248-4851" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4851"> <div class="line-num1">86</div> <div class="line-num2">99</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-070248-4862" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4862"> <div class="line-num1">87</div> <div class="line-num2">100</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"> private</span> </div> </td> </tr><tr> <td id="d2h-070248-4873" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-4873"> <div class="line-num1">88</div> <div class="line-num2">101</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">89</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>return_type_from</del>(<del>nesting, **</del>kwargs)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">102</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>check_return_kwargs</ins>(kwargs)</span> </div> </td> </tr><tr> <td id="d2h-070248-4906" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4906"> <div class="line-num1"></div> <div class="line-num2">103</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"> # For nested returns, evaluate_return_def calls ::field, which validates</span> </div> </td> </tr><tr> <td id="d2h-070248-4917" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4917"> <div class="line-num1"></div> <div class="line-num2">104</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"> # field options, but does not trigger type autoloading.</span> </div> </td> </tr><tr> <td id="d2h-070248-4928" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4928"> <div class="line-num1"></div> <div class="line-num2">105</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"> return evaluate_return_def(**kwargs) if kwargs[:nesting]</span> </div> </td> </tr><tr> <td id="d2h-070248-4939" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4939"> <div class="line-num1"></div> <div class="line-num2">106</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-070248-4950" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4950"> <div class="line-num1"></div> <div class="line-num2">107</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 kwargs.key?(:null)</span> </div> </td> </tr><tr> <td id="d2h-070248-4961" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4961"> <div class="line-num1"></div> <div class="line-num2">108</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"> raise Taro::ArgumentError, &lt;&lt;~MSG</span> </div> </td> </tr><tr> <td id="d2h-070248-4972" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4972"> <div class="line-num1"></div> <div class="line-num2">109</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"> `null:` is not supported for top-level returns. If you want a nullable return</span> </div> </td> </tr><tr> <td id="d2h-070248-4983" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4983"> <div class="line-num1"></div> <div class="line-num2">110</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, nest it, e.g. `returns :str, type: &#x27;String&#x27;, null: true`.</span> </div> </td> </tr><tr> <td id="d2h-070248-4994" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-4994"> <div class="line-num1"></div> <div class="line-num2">111</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"> MSG</span> </div> </td> </tr><tr> <td id="d2h-070248-5005" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5005"> <div class="line-num1"></div> <div class="line-num2">112</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-070248-5016" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5016"> <div class="line-num1"></div> <div class="line-num2">113</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-070248-5027" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5027"> <div class="line-num1"></div> <div class="line-num2">114</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"> bad_keys = kwargs.keys - (Taro::Types::Coercion.keys + %i[code desc nesting])</span> </div> </td> </tr><tr> <td id="d2h-070248-5038" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5038"> <div class="line-num1"></div> <div class="line-num2">115</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"> return if bad_keys.empty?</span> </div> </td> </tr><tr> <td id="d2h-070248-5049" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5049"> <div class="line-num1"></div> <div class="line-num2">116</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-070248-5060" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5060"> <div class="line-num1"></div> <div class="line-num2">117</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"> raise Taro::ArgumentError, &quot;Invalid `returns` options: #{bad_keys.join(&#x27;, &#x27;)}&quot;</span> </div> </td> </tr><tr> <td id="d2h-070248-5071" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5071"> <div class="line-num1"></div> <div class="line-num2">118</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-070248-5082" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5082"> <div class="line-num1"></div> <div class="line-num2">119</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-070248-5093" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5093"> <div class="line-num1"></div> <div class="line-num2">120</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 evaluate_return_defs</span> </div> </td> </tr><tr> <td id="d2h-070248-5104" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5104"> <div class="line-num1"></div> <div class="line-num2">121</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"> return_defs.transform_values { |defi| evaluate_return_def(**defi) }</span> </div> </td> </tr><tr> <td id="d2h-070248-5115" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5115"> <div class="line-num1"></div> <div class="line-num2">122</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-070248-5126" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5126"> <div class="line-num1"></div> <div class="line-num2">123</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-070248-5137" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5137"> <div class="line-num1"></div> <div class="line-num2">124</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 evaluate_return_def(nesting:, **kwargs)</span> </div> </td> </tr><tr> <td id="d2h-070248-5148" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5148"> <div class="line-num1">90</div> <div class="line-num2">125</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"> if nesting</span> </div> </td> </tr><tr> <td id="d2h-070248-5159" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5159"> <div class="line-num1">91</div> <div class="line-num2">126</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"> # ad-hoc return type, requiring the actual return type to be nested</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">92</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"> Class.new(Taro::Types::ObjectType).tap <del>{</del> |<del>t</del>|<del> t.field(nesting, **kwargs) }</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">127</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"> Class.new(Taro::Types::ObjectType).tap <ins>do</ins> |<ins>type</ins>|</span> </div> </td> </tr><tr> <td id="d2h-070248-5192" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5192"> <div class="line-num1"></div> <div class="line-num2">128</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"> type.field(nesting, null: false, **kwargs)</span> </div> </td> </tr><tr> <td id="d2h-070248-5203" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5203"> <div class="line-num1"></div> <div class="line-num2">129</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-070248-5214" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5214"> <div class="line-num1">93</div> <div class="line-num2">130</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"> else</span> </div> </td> </tr><tr> <td id="d2h-070248-5225" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5225"> <div class="line-num1">94</div> <div class="line-num2">131</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"> Taro::Types::Coercion.call(kwargs)</span> </div> </td> </tr><tr> <td id="d2h-070248-5236" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5236"> <div class="line-num1">95</div> <div class="line-num2">132</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 class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -98,4 +135,8 @@ class Taro::Rails::Declaration</div> </td> </tr><tr> <td id="d2h-070248-5253" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5253"> <div class="line-num1">98</div> <div class="line-num2">135</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 raise_missing_route(controller_class, action_name)</span> </div> </td> </tr><tr> <td id="d2h-070248-5264" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5264"> <div class="line-num1">99</div> <div class="line-num2">136</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"> raise(Taro::ArgumentError, &quot;No route found for #{controller_class}##{action_name}&quot;)</span> </div> </td> </tr><tr> <td id="d2h-070248-5275" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5275"> <div class="line-num1">100</div> <div class="line-num2">137</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-070248-5286" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5286"> <div class="line-num1"></div> <div class="line-num2">138</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-070248-5297" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5297"> <div class="line-num1"></div> <div class="line-num2">139</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 &lt;=&gt;(other)</span> </div> </td> </tr><tr> <td id="d2h-070248-5308" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5308"> <div class="line-num1"></div> <div class="line-num2">140</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"> params.openapi_name &lt;=&gt; other.params.openapi_name</span> </div> </td> </tr><tr> <td id="d2h-070248-5319" class="d2h-code-linenumber d2h-ins"><a href="#d2h-070248-5319"> <div class="line-num1"></div> <div class="line-num2">141</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-070248-5330" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-070248-5330"> <div class="line-num1">101</div> <div class="line-num2">142</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-587334" 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-587334">data/lib/taro/rails/generators/install_generator.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">@@ -12,7 +12,7 @@ class Taro::Rails::Generators::InstallGenerator &lt; ::Rails::Generators::Base</div> </td> </tr><tr> <td id="d2h-587334-5368" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-587334-5368"> <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"> def create_type_files</span> </div> </td> </tr><tr> <td id="d2h-587334-5379" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-587334-5379"> <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"> Dir[&quot;#{self.class.source_root}&#x2F;**&#x2F;*.erb&quot;].each do |tmpl|</span> </div> </td> </tr><tr> <td id="d2h-587334-5390" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-587334-5390"> <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"> dest_dir = options[:dir].chomp(&#x27;&#x2F;&#x27;)</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>copy_file</del> tmpl, &quot;#{dest_dir}&#x2F;#{File.basename(tmpl).sub(&#x27;erb&#x27;, &#x27;rb&#x27;)}&quot;</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>template</ins> tmpl, &quot;#{dest_dir}&#x2F;#{File.basename(tmpl).sub(&#x27;erb&#x27;, &#x27;rb&#x27;)}&quot;</span> </div> </td> </tr><tr> <td id="d2h-587334-5423" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-587334-5423"> <div class="line-num1">16</div> <div class="line-num2">16</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-587334-5434" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-587334-5434"> <div class="line-num1">17</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"> end</span> </div> </td> </tr><tr> <td id="d2h-587334-5445" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-587334-5445"> <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"> # :nocov:</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-958292" class="d2h-file-wrapper" data-lang="erb"> <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-958292">data/lib/taro/rails/generators/templates/errors_type.erb</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">@@ -11,15 +11,20 @@ class ErrorsType &lt; Taro::Types::ListType</div> </td> </tr><tr> <td id="d2h-958292-5483" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-958292-5483"> <div class="line-num1">11</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"> end</span> </div> </td> </tr><tr> <td id="d2h-958292-5494" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-958292-5494"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-958292-5505" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-958292-5505"> <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"> def coerce_response</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>case</del> <del>object.class.name</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> when</del> <del>&#x27;</del>ActiveRecord<del>::Base&#x27;</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>super(object.errors.errors)</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> when &#x27;ActiveModel::Errors&#x27;</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"> <del>super(object.errors)</del></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> when</del> <del>&#x27;Hash&#x27;,</del> <del>&#x27;Interactor::Context&#x27;</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">20</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>super(object[:errors])</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">21</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> else # e.g. Array</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">22</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>super</del>(<del>object</del>)</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"><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">14</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>list</ins> <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">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> case</ins> <ins>object&lt;%- if defined?(</ins>ActiveRecord<ins>) %&gt;</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"> <ins>when ActiveModel::Errors</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">17</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> object.errors</ins></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>when ActiveRecord::Base</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> object.errors.errors&lt;%-</ins> <ins>end</ins> <ins>%&gt;</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>when Array</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> object</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>when Hash&lt;%- if defined?</ins>(<ins>Interactor::Context</ins>)<ins> %&gt;, Interactor::Context&lt;%- end %&gt;</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> object.to_h.fetch(:errors)</ins></span> </div> </td> </tr><tr> <td id="d2h-958292-5736" class="d2h-code-linenumber d2h-ins"><a href="#d2h-958292-5736"> <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"> else</span> </div> </td> </tr><tr> <td id="d2h-958292-5747" class="d2h-code-linenumber d2h-ins"><a href="#d2h-958292-5747"> <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"> response_error(&quot;must be an Enumerable or an object with errors&quot;)</span> </div> </td> </tr><tr> <td id="d2h-958292-5758" class="d2h-code-linenumber d2h-ins"><a href="#d2h-958292-5758"> <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-958292-5769" class="d2h-code-linenumber d2h-ins"><a href="#d2h-958292-5769"> <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-958292-5780" class="d2h-code-linenumber d2h-ins"><a href="#d2h-958292-5780"> <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"> list.map { |el| self.class.item_type.new(el).coerce_response }</span> </div> </td> </tr><tr> <td id="d2h-958292-5791" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-958292-5791"> <div class="line-num1">24</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"> end</span> </div> </td> </tr><tr> <td id="d2h-958292-5802" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-958292-5802"> <div class="line-num1">25</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">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-621753" 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-621753">data/lib/taro/rails/normalized_route.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">@@ -26,4 +26,12 @@ Taro::Rails::NormalizedRoute = Data.define(:rails_route) do</div> </td> </tr><tr> <td id="d2h-621753-5840" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-621753-5840"> <div class="line-num1">26</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"> controller, action = rails_route.requirements.values_at(:controller, :action)</span> </div> </td> </tr><tr> <td id="d2h-621753-5851" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-621753-5851"> <div class="line-num1">27</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"> &quot;#{controller}##{action}&quot;</span> </div> </td> </tr><tr> <td id="d2h-621753-5862" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-621753-5862"> <div class="line-num1">28</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"> end</span> </div> </td> </tr><tr> <td id="d2h-621753-5873" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5873"> <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-621753-5884" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5884"> <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"> def can_have_request_body?</span> </div> </td> </tr><tr> <td id="d2h-621753-5895" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5895"> <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"> %w[patch post put].include?(verb)</span> </div> </td> </tr><tr> <td id="d2h-621753-5906" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5906"> <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><tr> <td id="d2h-621753-5917" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5917"> <div class="line-num1"></div> <div class="line-num2">33</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-621753-5928" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5928"> <div class="line-num1"></div> <div class="line-num2">34</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 inspect</span> </div> </td> </tr><tr> <td id="d2h-621753-5939" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5939"> <div class="line-num1"></div> <div class="line-num2">35</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"> %(#&lt;#{self.class} &quot;#{verb} #{openapi_path}&quot;&gt;)</span> </div> </td> </tr><tr> <td id="d2h-621753-5950" class="d2h-code-linenumber d2h-ins"><a href="#d2h-621753-5950"> <div class="line-num1"></div> <div class="line-num2">36</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-621753-5961" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-621753-5961"> <div class="line-num1">29</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">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-289013" 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-289013">data/lib/taro/rails/response_validation.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,63 +1,13 @@</div> </td> </tr><tr> <td id="d2h-289013-5999" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-289013-5999"> <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">module Taro::Rails::ResponseValidation</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"> def self.install(controller_class<del>:, action_name</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>return</del> <del>unless</del> Taro.config.validate_response</span> </div> </td> </tr><tr> <td id="d2h-289013-6032" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6032"> <div class="line-num1">4</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-289013-6043" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6043"> <div class="line-num1">5</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"> key = [controller_class, action_name]</span> </div> </td> </tr><tr> <td id="d2h-289013-6054" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6054"> <div class="line-num1">6</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"> return if installed[key]</span> </div> </td> </tr><tr> <td id="d2h-289013-6065" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6065"> <div class="line-num1">7</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-289013-6076" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6076"> <div class="line-num1">8</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"> installed[key] = true</span> </div> </td> </tr><tr> <td id="d2h-289013-6087" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6087"> <div class="line-num1">9</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-289013-6098" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6098"> <div class="line-num1">10</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_class.around_action(only: action_name) do |_, block|</span> </div> </td> </tr><tr> <td id="d2h-289013-6109" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6109"> <div class="line-num1">11</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"> Taro::Types::BaseType.rendering = nil</span> </div> </td> </tr><tr> <td id="d2h-289013-6120" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6120"> <div class="line-num1">12</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"> block.call</span> </div> </td> </tr><tr> <td id="d2h-289013-6131" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6131"> <div class="line-num1">13</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"> Taro::Rails::ResponseValidation.call(self)</span> </div> </td> </tr><tr> <td id="d2h-289013-6142" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6142"> <div class="line-num1">14</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"> ensure</span> </div> </td> </tr><tr> <td id="d2h-289013-6153" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6153"> <div class="line-num1">15</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"> Taro::Types::BaseType.rendering = nil</span> </div> </td> </tr><tr> <td id="d2h-289013-6164" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6164"> <div class="line-num1">16</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-289013-6175" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6175"> <div class="line-num1">17</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-289013-6186" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6186"> <div class="line-num1">18</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-289013-6197" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6197"> <div class="line-num1">19</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 self.installed</span> </div> </td> </tr><tr> <td id="d2h-289013-6208" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6208"> <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"> @installed ||= {}</span> </div> </td> </tr><tr> <td id="d2h-289013-6219" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6219"> <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"> end</span> </div> </td> </tr><tr> <td id="d2h-289013-6230" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6230"> <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"><br></span> </div> </td> </tr><tr> <td id="d2h-289013-6241" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6241"> <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"> def self.call(controller)</span> </div> </td> </tr><tr> <td id="d2h-289013-6252" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6252"> <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"> declaration = Taro::Rails.declaration_for(controller)</span> </div> </td> </tr><tr> <td id="d2h-289013-6263" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6263"> <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"> nesting = declaration.return_nestings[controller.status]</span> </div> </td> </tr><tr> <td id="d2h-289013-6274" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6274"> <div class="line-num1">26</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"> expected = declaration.returns[controller.status]</span> </div> </td> </tr><tr> <td id="d2h-289013-6285" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6285"> <div class="line-num1">27</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 nesting</span> </div> </td> </tr><tr> <td id="d2h-289013-6296" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6296"> <div class="line-num1">28</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"> # case: `returns :some_nesting, type: &#x27;SomeType&#x27;` (ad-hoc return type)</span> </div> </td> </tr><tr> <td id="d2h-289013-6307" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6307"> <div class="line-num1">29</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"> check_nesting(controller.response, nesting)</span> </div> </td> </tr><tr> <td id="d2h-289013-6318" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6318"> <div class="line-num1">30</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"> expected = expected.fields[nesting].type</span> </div> </td> </tr><tr> <td id="d2h-289013-6329" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6329"> <div class="line-num1">31</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-289013-6340" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6340"> <div class="line-num1">32</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-289013-6351" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6351"> <div class="line-num1">33</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"> check_expected_type_was_used(controller, expected)</span> </div> </td> </tr><tr> <td id="d2h-289013-6362" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6362"> <div class="line-num1">34</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-289013-6373" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6373"> <div class="line-num1">35</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-289013-6384" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6384"> <div class="line-num1">36</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 self.check_nesting(response, nesting)</span> </div> </td> </tr><tr> <td id="d2h-289013-6395" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6395"> <div class="line-num1">37</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"> return unless &#x2F;json&#x2F;.match?(response.media_type)</span> </div> </td> </tr><tr> <td id="d2h-289013-6406" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6406"> <div class="line-num1">38</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-289013-6417" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6417"> <div class="line-num1">39</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"> first_key = response.body.to_s[&#x2F;\A{\s*&quot;([^&quot;]+)&quot;&#x2F;, 1]</span> </div> </td> </tr><tr> <td id="d2h-289013-6428" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6428"> <div class="line-num1">40</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"> first_key == nesting.to_s || raise(Taro::ResponseError, &lt;&lt;~MSG)</span> </div> </td> </tr><tr> <td id="d2h-289013-6439" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6439"> <div class="line-num1">41</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"> Expected response to be nested in &quot;#{nesting}&quot; key, but it was not.</span> </div> </td> </tr><tr> <td id="d2h-289013-6450" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6450"> <div class="line-num1">42</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"> (First JSON key in response: &quot;#{first_key}&quot;.)</span> </div> </td> </tr><tr> <td id="d2h-289013-6461" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6461"> <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"> MSG</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"> def self.install(controller_class:)</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"> <ins>controller_class.prepend(self)</ins> <ins>if</ins> Taro.config.validate_response</span> </div> </td> </tr><tr> <td id="d2h-289013-6494" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-289013-6494"> <div class="line-num1">44</div> <div class="line-num2">4</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-289013-6505" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-289013-6505"> <div class="line-num1">45</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">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"> def <del>self.check_expected_type_was_used</del>(<del>controller</del>, <del>expected</del>)</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>used</del> = <del>Taro::Types::BaseType.rendering</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"><br></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> if</del> <del>expected.nil?</del></span> </div> </td> </tr><tr> <td id="d2h-289013-6560" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6560"> <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"> raise(Taro::ResponseError, &lt;&lt;~MSG)</span> </div> </td> </tr><tr> <td id="d2h-289013-6571" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6571"> <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"> No matching return type declared in #{controller.class}##{controller.action_name}\</span> </div> </td> </tr><tr> <td id="d2h-289013-6582" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6582"> <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"> for status #{controller.status}.</span> </div> </td> </tr><tr> <td id="d2h-289013-6593" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6593"> <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"> MSG</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"> def <ins>render</ins>(<ins>*, **kwargs</ins>, <ins>&amp;</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"> <ins>result</ins> = <ins>super</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">8</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> if (declaration = Taro::Rails.declaration_for(self))</ins></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> Taro::Rails::ResponseValidator.call(self,</ins> <ins>declaration, kwargs[:json])</ins></span> </div> </td> </tr><tr> <td id="d2h-289013-6648" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-289013-6648"> <div class="line-num1">54</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"> end</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">55</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 id="d2h-289013-6670" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6670"> <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"> used&amp;.&lt;=(expected) || raise(Taro::ResponseError, &lt;&lt;~MSG)</span> </div> </td> </tr><tr> <td id="d2h-289013-6681" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6681"> <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"> Expected #{controller.class}##{controller.action_name} to use #{expected}.render,</span> </div> </td> </tr><tr> <td id="d2h-289013-6692" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6692"> <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"> but #{used ? &quot;#{used}.render&quot; : &#x27;no type render method&#x27;} was called.</span> </div> </td> </tr><tr> <td id="d2h-289013-6703" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6703"> <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"> MSG</span> </div> </td> </tr><tr> <td id="d2h-289013-6714" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6714"> <div class="line-num1">60</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-289013-6725" class="d2h-code-linenumber d2h-del"><a href="#d2h-289013-6725"> <div class="line-num1">61</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"> Taro::Types::BaseType.used_in_response = used # for comparisons in specs</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"><ins> result</ins></span> </div> </td> </tr><tr> <td id="d2h-289013-6747" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-289013-6747"> <div class="line-num1">62</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"> end</span> </div> </td> </tr><tr> <td id="d2h-289013-6758" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-289013-6758"> <div class="line-num1">63</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">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </div> <div class='row align-items-center mt-3 justify-content-center'> <div class='text-center'> <ul class='pagination mb-0'> <li class='page-item page active'> <a class="page-link" href="/gems/taro/1.0.0/1.2.0">1</a> </li> <li class='page-item page'> <a rel="next" class="page-link" href="/gems/taro/1.0.0/1.2.0/page/2">2</a> </li> <li class='page-item page'> <a class="page-link" href="/gems/taro/1.0.0/1.2.0/page/3">3</a> </li> <li class='next_page page-item'> <a rel="next" class="page-link" href="/gems/taro/1.0.0/1.2.0/page/2">Next &rsaquo;</a> </li> <li class='last next page-item'> <a class="page-link" href="/gems/taro/1.0.0/1.2.0/page/3">Last &raquo;</a> </li> </ul> </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