<p dir="auto">Includes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958372155" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/5863" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/openstreetmap-website/pull/5863/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/pull/5863">#5863</a>.</p>
<p dir="auto">Removes nonstandard action names from geocoder controller. Renames this controller to <em>search</em> because path is <em>search</em>, path helper is <em>search_path</em>, javascript controller is <em>search.js</em>.</p>
<p dir="auto">Takes three search actions out of this controller and makes them nested <em>_query</em> resources:</p>
<ul dir="auto">
<li>latlon_query</li>
<li>osm_nominatim_query</li>
<li>osm_nominatim_reverse_query</li>
</ul>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/openstreetmap/openstreetmap-website/pull/5868'>https://github.com/openstreetmap/openstreetmap-website/pull/5868</a></p>

<h4>Commit Summary</h4>
<ul>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/9ed1016ce3e3fc7967e78500ec7a43057a92b7bb" class="commit-link">9ed1016</a>  Move search fetch url construction to controller</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/8cec6f423d1df484d7a850da730f3b42fa9f04e9" class="commit-link">8cec6f4</a>  Permit search parameters separately for each source</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/08f6205459b4314dab4381e455a5e54e80ec0540" class="commit-link">08f6205</a>  Add viewbox param to Nominatim link in search results</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/41b3c4b069066d854fc20c834c7c2021f591091c" class="commit-link">41b3c4b</a>  Remove RuboCop AssignmentInCondition exclusion for search</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/4d4cdb50136b19e311d6c150736e22cbe02164a1" class="commit-link">4d4cdb5</a>  Merge search params with regexp captures property</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/545e4cc922828dc20bb5c095646ca8eff5a102eb" class="commit-link">545e4cc</a>  Remove escape_query method from geocoder</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/835d00f8523a2cc1495fe21b7e3f51dc19dd331c" class="commit-link">835d00f</a>  Move osm nominatim url methods to concerns</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/2e80542efb890ac1dcdc170fe2f32efd3392af32" class="commit-link">2e80542</a>  Move search query templates</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/1cd291edd85d8eb39267bf0f67af61f49ea3c86a" class="commit-link">1cd291e</a>  Create search query base class</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/347c75a6e66ac2eb5bb5d7009abea4fd18645dee" class="commit-link">347c75a</a>  Create latlon search query resource</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/a3cd5458fc823a3f3fb4e2852fd8947bdfb6624e" class="commit-link">a3cd545</a>  Create osm nominatim search query resource</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/af0f2cca7cb4823215e4260c0d24af4e9501028b" class="commit-link">af0f2cc</a>  Create osm nominatim reverse search query resource</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/c4bb5e1d062fe161819174e8346958ac6ca9ea06" class="commit-link">c4bb5e1</a>  Clean up geocoder after moving out queries</li>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/commits/8de7d2fd78dba2bad114af2a9de699ce54856870" class="commit-link">8de7d2f</a>  Replace geocoder with search resource</li>
</ul>

<h4 style="display: inline-block">File Changes </h4> <p style="display: inline-block">(<a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files">26 files</a>)</p>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-4f894049af3375c2bd4e608f546f8d4a0eed95464efcdea850993200db9fef5c">.rubocop.yml</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-29beaabe278fd17493296745cecb67919f0906b47b8246ab770f5517615d9ef7">.rubocop_todo.yml</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-debf59904131dc89a88ab44cbb1d6deaaa5a7d70c0507f674080df62f7c8e41f">app/abilities/ability.rb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-8859067d4860f7b3d870155d8af8c81e89fd7c66cd2ebb58bd42cf31005c3c27">app/assets/javascripts/index/search.js</a>
    (33)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-2049ef36073e4044737bc512f6a725aef2624703951204cf6b9850e8ed453ab9">app/controllers/concerns/osm_nominatim_methods.rb</a>
    (33)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-bf845b955a0aeb626484399330d9c39183e734c9a56a3900e71fa48b0da47f81">app/controllers/geocoder_controller.rb</a>
    (252)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-850c07641ef3691956a896488b4b65fcc246b01800f349ec54a2e1cedf7a859f">app/controllers/searches/latlon_queries_controller.rb</a>
    (43)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-c1ca82f293cba0dbb38bef51a62b8280e3a8502ee1e3aebab11f1e851ba20209">app/controllers/searches/osm_nominatim_queries_controller.rb</a>
    (61)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-1985b5eb12733822ace6fa673a0eba215e41babae6432cb218a26d83ffea649c">app/controllers/searches/osm_nominatim_reverse_queries_controller.rb</a>
    (34)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-f30bd5c4cbdf9742f22857fc6b65c2bd9c9ea514a6cb35b698ef6c75aa0b322e">app/controllers/searches/queries_controller.rb</a>
    (23)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-b8f829c906439ddf15f11f1d3c26a93cf538f739dff9e107d46df8768de16aac">app/controllers/searches_controller.rb</a>
    (72)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-bed4ca7da5223552daa225793ab8007631d3d86673a13728e29be74bbf47dd00">app/helpers/geocoder_helper.rb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-60b815932a6942ef4da576f75ee4e9b670e2aeb07950b7f8494bdbedb319c8c2">app/views/layouts/_search.html.erb</a>
    (5)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-c0f348780c953bf1cdbeca9741e9e6596e24614ae217d2a093df695a8d7cb1bb">app/views/searches/queries/create.html.erb</a>
    (0)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-e8b9a2ba4e1cfff6199cd097c8d0fc4fdd82e3934c3ca301b99b9807a8f9b0bf">app/views/searches/queries/error.html.erb</a>
    (0)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-f21722ff886e73914d8ff1b3b3e86f451489617138d83bb9a52e7e589d061e44">app/views/searches/show.html.erb</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-44438ce218f5287c58d0017f965d888715635d94280669896f75841fbd7b4cd7">config/locales/en.yml</a>
    (18)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-959bc9abc46a55332bb64d5155a79323afa75a50ec1a2137ddd22d926f62c6c5">config/routes.rb</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-66914b664fcadd6ba28bd16a44eb853ca3fd4e1f9ea1e4be390f12aeea2a0697">test/abilities/abilities_test.rb</a>
    (7)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-80504fc3071ce56b274d5c16e637a32e6f9cd3459e6d3f66808ca118ff106180">test/controllers/searches/latlon_queries_controller_test.rb</a>
    (55)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-e38067e582cadcfac18200856ca9bcdf40231e52c0e33337d7f52a0b509a78e6">test/controllers/searches/osm_nominatim_queries_controller_test.rb</a>
    (45)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-865da6bfc56aef6fc7f114cf9416191b434d74013bb70ee983a45b5c5a53833f">test/controllers/searches/osm_nominatim_reverse_queries_controller_test.rb</a>
    (33)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-7677beb34f2a99bd3c56e4b21e67d7feeeda53b71fc3740211f8a527c1b2192d">test/controllers/searches/queries_controller_test.rb</a>
    (32)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-b424ea26668df89115fa9203af7da1e71654718dab5514c3ef8c9f95d2249946">test/controllers/searches_controller_test.rb</a>
    (148)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-9f03db15fcff47ba34e79c28103e35c66caf837939a1268a6f6103f9b2eefea0">test/controllers/site_controller_test.rb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868/files#diff-25634af9c126d551c99d86cc783e0af06476714ecbd6416944088acb7cd7dcd7">test/system/search_test.rb</a>
    (24)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/5868.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/5868.patch</a></li>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/5868.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/5868.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/5868">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLPMESNXTDQZUPQROOD2XDD2ZAVCNFSM6AAAAAB2DMF6GCVHI2DSMVQWIX3LMV43ASLTON2WKOZSHE2TSNBXG44TEMQ">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLJUFV7AX5IFX4CW5RD2XDD2ZA5CNFSM6AAAAAB2DMF6GCWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHLAZQMUI.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/5868</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/5868",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/5868",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>