Class: Parse::AtlasSearch::AutocompleteResult

Inherits:
Object
  • Object
show all
Defined in:
lib/parse/atlas_search/result.rb

Overview

Result container for autocomplete search operations. Provides both suggestions (field values) and full objects.

Examples:

Using suggestions

result = Parse::AtlasSearch.autocomplete("Song", "lov", field: :title)
result.suggestions # => ["Love Story", "Lovely Day", "Love Me Do"]

Accessing full objects

result.results.each do |song|
  puts "#{song.title} by #{song.artist}"
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(suggestions:, results:) ⇒ AutocompleteResult

Returns a new instance of AutocompleteResult.

Parameters:

  • suggestions (Array<String>)

    the autocomplete suggestions

  • results (Array)

    the full Parse objects



96
97
98
99
# File 'lib/parse/atlas_search/result.rb', line 96

def initialize(suggestions:, results:)
  @suggestions = suggestions
  @results = results
end

Instance Attribute Details

#resultsArray<Parse::Object> (readonly)

Returns the full Parse objects.

Returns:



92
93
94
# File 'lib/parse/atlas_search/result.rb', line 92

def results
  @results
end

#suggestionsArray<String> (readonly)

Returns the autocomplete suggestions (field values).

Returns:

  • (Array<String>)

    the autocomplete suggestions (field values)



89
90
91
# File 'lib/parse/atlas_search/result.rb', line 89

def suggestions
  @suggestions
end

Instance Method Details

#countInteger Also known as: size

Returns the number of suggestions.

Returns:

  • (Integer)

    the number of suggestions



102
103
104
# File 'lib/parse/atlas_search/result.rb', line 102

def count
  @suggestions.size
end

#each {|String| ... } ⇒ Object

Iterate over suggestions

Yields:

  • (String)

    each suggestion



115
116
117
# File 'lib/parse/atlas_search/result.rb', line 115

def each(&block)
  @suggestions.each(&block)
end

#empty?Boolean

Returns true if there are no suggestions.

Returns:

  • (Boolean)

    true if there are no suggestions



109
110
111
# File 'lib/parse/atlas_search/result.rb', line 109

def empty?
  @suggestions.empty?
end

#firstString?

Returns the first suggestion.

Returns:

  • (String, nil)

    the first suggestion



120
121
122
# File 'lib/parse/atlas_search/result.rb', line 120

def first
  @suggestions.first
end

#to_aArray<String>

Returns the suggestions as an array.

Returns:



125
126
127
# File 'lib/parse/atlas_search/result.rb', line 125

def to_a
  @suggestions.to_a
end