Sha256: c3c78ac0adf6a8fda802ede9f8456f1a427fc683ba2dc98a2253f56688aa92e6

Contents?: true

Size: 986 Bytes

Versions: 14

Compression:

Stored size: 986 Bytes

Contents

module Lolita
  module Menu
    module Autocomplete
      class Collector

        def initialize(term)
          @links = []
          @term = term
          collect_from_file
        end

        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(" ")]
              if item.first.match(/#{@term}/) || item.last.match(/#{@term}/)
                @links << item
              end
            }
          end
        end

        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

      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
lolita-menu-0.3.2 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.3.1 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.3.0 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.2.2 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.2.1 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.2.0 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.1.7 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.1.6 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.1.5 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.1.4 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.1.1 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.1.0 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.0.15 lib/lolita-menu/autocomplete/collector.rb
lolita-menu-0.0.14 lib/lolita-menu/autocomplete/collector.rb