Module: Searchable::InstanceMethods

Included in:
OperatingSystem
Defined in:
lib/concerns/searchable.rb

Instance Method Summary collapse

Instance Method Details

#search_by_key(key_to_find) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/concerns/searchable.rb', line 29

def search_by_key(key_to_find)
  shortcuts.each do |key|
    if key.key_seq == key_to_find
      @found_key = key
    end
  end
  if @found_key.nil?
    CLIInterface.not_found
  else
    CLIInterface.detail_view(@found_key)
  end
  @found_key = nil
end

#search_by_name(name) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/concerns/searchable.rb', line 15

def search_by_name(name)
  shortcuts.each do |key|
    if key.name.include?(name)
      @found_key = key
    end
  end
  if @found_key.nil?
    CLIInterface.not_found
  else
    CLIInterface.detail_view(@found_key)
  end
  @found_key = nil
end

#search_by_number(number) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/concerns/searchable.rb', line 3

def search_by_number(number)
  if number.to_i > shortcuts.count
    CLIInterface.error
  else
    shortcuts.each_with_index do |key, index|
      if (index + 1).to_s == number
        CLIInterface.detail_view(key)
      end
    end
  end
end