Sha256: a33abbb57e1cb8bc57b25fdd1e27d68b65515387e9aad3a3a46f83b878b311ee
Contents?: true
Size: 777 Bytes
Versions: 12
Compression:
Stored size: 777 Bytes
Contents
require 'sinatra/base' module Coprl module Presenters module Demo class Search < Sinatra::Base get('/_search_') do content_type :json JSON.dump(search(params[:search])) end def search(term) require 'yaml' return [] unless term @terms ||= YAML::load_file(File.join(__dir__, './search-terms.yml')) @terms.keys.reduce([]) do |matches, topic| @terms[topic].reduce(matches) do |matches, item| matches << [item, matches.length] if item.downcase.include?(term.downcase) matches end end end # start the server if ruby file executed directly run! if app_file == $0 end end end end
Version data entries
12 entries across 12 versions & 1 rubygems