Class: Trample::Autocomplete::Formatter

Inherits:
Object
  • Object
show all
Defined in:
lib/trample/autocomplete/formatter.rb

Instance Method Summary collapse

Constructor Details

#initialize(formatter = nil) ⇒ Formatter

Returns a new instance of Formatter.



5
6
7
8
9
10
11
# File 'lib/trample/autocomplete/formatter.rb', line 5

def initialize(formatter = nil)
  if formatter.respond_to?(:call)
    @formatter = formatter
  else
    @formatter = hash_formatter_to_proc(formatter)
  end
end

Instance Method Details

#format_all(results, options = {}) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/trample/autocomplete/formatter.rb', line 13

def format_all(results, options = {})
  results = results.map do |r|
    format_one(r)
  end

  if user_query = options[:user_query]
    results.unshift(Hashie::Mash.new(id: user_query, key: user_query, text: "\"#{user_query}\"", user_query: true))
  end

  results
end

#format_one(result) ⇒ Object



25
26
27
# File 'lib/trample/autocomplete/formatter.rb', line 25

def format_one(result)
  @formatter.call(result)
end