Class: Fuzz::Selector

Inherits:
Object
  • Object
show all
Defined in:
lib/fuzz/selector.rb

Instance Method Summary collapse

Constructor Details

#initialize(items, options = {}) ⇒ Selector

Returns a new instance of Selector.



7
8
9
10
11
# File 'lib/fuzz/selector.rb', line 7

def initialize(items, options = {})
  @cache = options.fetch(:cache, Fuzz::NullCache.new)
  @picker = options.fetch(:picker, Fuzz::RofiPicker.new)
  @entries = items.map { |item| make_entry(item, @cache) }
end

Instance Method Details

#pickObject



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

def pick
  title = picker.pick(titles)
  chosen_entry = find_entry_by_title(title)

  if chosen_entry.nil?
    nil
  else
    cache.increment!(chosen_entry.title)
    chosen_entry.object
  end
end