Class: Lolita::Menu::Autocomplete::Collector
- Inherits:
-
Object
- Object
- Lolita::Menu::Autocomplete::Collector
- Defined in:
- lib/lolita-menu/autocomplete/collector.rb
Instance Method Summary collapse
- #collect_from_file ⇒ Object
-
#initialize(term) ⇒ Collector
constructor
A new instance of Collector.
- #to_json ⇒ Object
Constructor Details
#initialize(term) ⇒ Collector
Returns a new instance of Collector.
6 7 8 9 10 |
# File 'lib/lolita-menu/autocomplete/collector.rb', line 6 def initialize(term) @links = [] @term = term collect_from_file end |
Instance Method Details
#collect_from_file ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/lolita-menu/autocomplete/collector.rb', line 12 def collect_from_file if File.exist?(Lolita::Menu::Autocomplete::FileBuilder.output_file) File.open(Lolita::Menu::Autocomplete::FileBuilder.output_file, "r").readlines.each{ |line| item = line.to_s.split(/\s/) first_item = item.shift item = [first_item, item.join(" ")] term_regexp = Regexp.new(@term.to_s.gsub("\\","")) if item.first.match(term_regexp) || item.last.match(term_regexp) @links << item end } end end |
#to_json ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/lolita-menu/autocomplete/collector.rb', line 26 def to_json result = [] @links.each_with_index{|item, index| result << {:id => index, :label => "#{item.last} #{item[1] != item[0] ? "(#{item[0]})" : ""}", :value => item.first} } result end |