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

Inherits:
LibraryCommand 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

Basic Command and Adapter Options collapse

Attributes Set Per Request collapse

Instance Attribute Summary collapse

Attributes included from Templates::Helpers::BaseHelper

#object, #owner, #serializer

Instance Method Summary collapse

Methods included from DocServerHelper

#base_path, #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

#adapterAdapter Originally defined in class Base

Returns the server adapter

Returns:

Since:

  • 0.6.0

#bodyString Originally defined in class Base

Returns the response body. Defaults to empty string.

Returns:

  • (String)

    the response body. Defaults to empty string.

Since:

  • 0.6.0

#cachingBoolean Originally defined in class Base

Returns whether to cache

Returns:

  • (Boolean)

    whether to cache

Since:

  • 0.6.0

#command_optionsHash Originally defined in class Base

Returns the options passed to the command's constructor

Returns:

  • (Hash)

    the options passed to the command's constructor

Since:

  • 0.6.0

#headersHash{String => String} Originally defined in class Base

Returns response headers

Returns:

Since:

  • 0.6.0

#incrementalBoolean Originally defined in class LibraryCommand

Returns whether to reparse data

Returns:

  • (Boolean)

    whether to reparse data

Since:

  • 0.6.0

#libraryLibraryVersion Originally defined in class LibraryCommand

Returns the object containing library information

Returns:

Since:

  • 0.6.0

#optionsLibraryOptions Originally defined in class LibraryCommand

Returns default options for the library

Returns:

Since:

  • 0.6.0

#pathString Originally defined in class Base

Returns the path after the command base URI

Returns:

  • (String)

    the path after the command base URI

Since:

  • 0.6.0

#queryObject

Since:

  • 0.6.0



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

def query
  @query
end

#requestRequest Originally defined in class Base

Returns request object

Returns:

  • (Request)

    request object

Since:

  • 0.6.0

#resultsObject

Since:

  • 0.6.0



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

def results
  @results
end

#serializerSerializers::Base Originally defined in class LibraryCommand

Returns the serializer used to perform file linking

Returns:

Since:

  • 0.6.0

#single_libraryBoolean Originally defined in class LibraryCommand

Returns whether router should route for multiple libraries

Returns:

  • (Boolean)

    whether router should route for multiple libraries

Since:

  • 0.6.0

#statusNumeric Originally defined in class Base

Returns status code. Defaults to 200 per request

Returns:

  • (Numeric)

    status code. Defaults to 200 per request

Since:

  • 0.6.0

Instance Method Details

#runObject

Since:

  • 0.6.0



13
14
15
16
17
18
19
20
21
22
# File 'lib/yard/server/commands/search_command.rb', line 13

def run
  Registry.load_all
  self.query = request.query['q']
  redirect("/#{adapter.router.docs_prefix}/#{single_library ? library : ''}") if query.nil? || query =~ /\A\s*\Z/
  if found = Registry.at(query)
    redirect(url_for(found))
  end
  search_for_object
  request.xhr? ? serve_xhr : serve_normal
end

#visible_resultsObject

Since:

  • 0.6.0



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

def visible_results
  results[0, 10]
end