# Class: YARD::Server::Commands::SearchCommand

Inherits:
  LibraryCommand
  - Object
  - Base
  - LibraryCommand
  - YARD::Server::Commands::SearchCommand
  show all

Includes:
  DocServerHelper, Templates::Helpers::BaseHelper, Templates::Helpers::ModuleHelper

Defined in:
  lib/yard/server/commands/search_command.rb

## Overview

Performs a search over the objects inside of a library and returns the results as HTML or plaintext

Since:

- 0.6.0

## Instance Attribute Summary collapse

- #query ⇒ Object
- #results ⇒ Object

### Attributes included from Templates::Helpers::BaseHelper

#object, #owner, #serializer

## Instance Method Summary collapse

- #run ⇒ Object
- #visible_results ⇒ Object

### Methods included from DocServerHelper

#abs_url, #base_path, #mtime, #mtime_url, #router, #url_for_file, #url_for_frameset, #url_for_index, #url_for_list, #url_for_main

### Methods included from Templates::Helpers::ModuleHelper

#prune_method_listing

### Methods included from Templates::Helpers::BaseHelper

#format_object_title, #format_object_type, #format_source, #format_types, #globals, #h, #link_file, #link_include_file, #link_include_object, #link_object, #link_url, #linkify, #run_verifier

## Constructor Details

This class inherits a constructor from YARD::Server::Commands::LibraryCommand

## Instance Attribute Details

### #query ⇒ `Object`

Since:

- 0.6.0

    12
    13
    14

    # File 'lib/yard/server/commands/search_command.rb', line 12

    def query
      @query
    end

### #results ⇒ `Object`

Since:

- 0.6.0

    12
    13
    14

    # File 'lib/yard/server/commands/search_command.rb', line 12

    def results
      @results
    end

## Instance Method Details

### #run ⇒ `Object`

Since:

- 0.6.0

    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24

    # File 'lib/yard/server/commands/search_command.rb', line 14

    def run
      Registry.load_all
      self.query = request.query['q']
      redirect(abs_url(adapter.router.docs_prefix, single_library ? library : '')) if query.nil? || query =~ /\A\s*\Z/

      found = Registry.at(query)
      redirect(url_for(found)) if found

      search_for_object
      request.xhr? ? serve_xhr : serve_normal
    end

### #visible_results ⇒ `Object`

Since:

- 0.6.0

    26
    27
    28

    # File 'lib/yard/server/commands/search_command.rb', line 26

    def visible_results
      results[0, 10]
    end