soulmate 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +11 -9
 - data/lib/soulmate/server.rb +6 -3
 - data/lib/soulmate/version.rb +9 -0
 - data/lib/soulmate.rb +1 -0
 - data/soulmate.gemspec +3 -3
 - metadata +5 -5
 - data/VERSION +0 -1
 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -10,17 +10,19 @@ end 
     | 
|
| 
       10 
10 
     | 
    
         
             
            require 'rake'
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            require 'jeweler'
         
     | 
| 
      
 13 
     | 
    
         
            +
            require './lib/soulmate/version.rb'
         
     | 
| 
       13 
14 
     | 
    
         
             
            Jeweler::Tasks.new do |gem|
         
     | 
| 
       14 
15 
     | 
    
         
             
              # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
         
     | 
| 
       15 
     | 
    
         
            -
              gem.name 
     | 
| 
       16 
     | 
    
         
            -
              gem. 
     | 
| 
       17 
     | 
    
         
            -
              gem. 
     | 
| 
       18 
     | 
    
         
            -
              gem. 
     | 
| 
       19 
     | 
    
         
            -
              gem. 
     | 
| 
       20 
     | 
    
         
            -
              gem. 
     | 
| 
       21 
     | 
    
         
            -
              gem. 
     | 
| 
       22 
     | 
    
         
            -
               
     | 
| 
       23 
     | 
    
         
            -
               
     | 
| 
      
 16 
     | 
    
         
            +
              gem.name      = "soulmate"
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.version   = Soulmate::Version::STRING
         
     | 
| 
      
 18 
     | 
    
         
            +
              gem.homepage  = "http://github.com/seatgeek/soulmate"
         
     | 
| 
      
 19 
     | 
    
         
            +
              gem.license   = "MIT"
         
     | 
| 
      
 20 
     | 
    
         
            +
              gem.summary   = %Q{Redis-backed service for fast autocompleting - extracted from SeatGeek}
         
     | 
| 
      
 21 
     | 
    
         
            +
              gem.description = %Q{Soulmate is a tool to help solve the common problem of developing a fast autocomplete feature. It uses Redis's sorted sets to build an index of partial words and corresponding top matches, and provides a simple sinatra app to query them. Soulmate finishes your sentences.}
         
     | 
| 
      
 22 
     | 
    
         
            +
              gem.email     = "eric@seatgeek.com"
         
     | 
| 
      
 23 
     | 
    
         
            +
              gem.homepage  = "http://github.com/seatgeek/soulmate"
         
     | 
| 
      
 24 
     | 
    
         
            +
              gem.authors   = ["Eric Waller"]
         
     | 
| 
      
 25 
     | 
    
         
            +
              # The versions specified here are pretty arbitrary right now...
         
     | 
| 
       24 
26 
     | 
    
         
             
              gem.add_runtime_dependency 'redis',   '>= 2.0'
         
     | 
| 
       25 
27 
     | 
    
         
             
              gem.add_runtime_dependency 'vegas',   '>= 0.1.0'
         
     | 
| 
       26 
28 
     | 
    
         
             
              gem.add_runtime_dependency 'sinatra', '>= 1.0'
         
     | 
    
        data/lib/soulmate/server.rb
    CHANGED
    
    | 
         @@ -11,17 +11,19 @@ module Soulmate 
     | 
|
| 
       11 
11 
     | 
    
         
             
                end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
                get '/' do
         
     | 
| 
       14 
     | 
    
         
            -
                   
     | 
| 
      
 14 
     | 
    
         
            +
                  JSON.pretty_generate({ :soulmate => Soulmate::Version::STRING, :status   => "ok" })
         
     | 
| 
       15 
15 
     | 
    
         
             
                end
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                get '/search' do
         
     | 
| 
      
 18 
     | 
    
         
            +
                  raise Sinatra::NotFound unless (params[:term] and params[:types] and params[:types].is_a?(Array))
         
     | 
| 
      
 19 
     | 
    
         
            +
                  
         
     | 
| 
       18 
20 
     | 
    
         
             
                  limit = (params[:limit] || 5).to_i
         
     | 
| 
       19 
21 
     | 
    
         
             
                  types = params[:types].map { |t| normalize(t) }
         
     | 
| 
       20 
22 
     | 
    
         
             
                  term  = params[:term]
         
     | 
| 
       21 
23 
     | 
    
         | 
| 
       22 
24 
     | 
    
         
             
                  results = {}
         
     | 
| 
       23 
25 
     | 
    
         
             
                  types.each do |type|
         
     | 
| 
       24 
     | 
    
         
            -
                    matcher =  
     | 
| 
      
 26 
     | 
    
         
            +
                    matcher = Matcher.new(type)
         
     | 
| 
       25 
27 
     | 
    
         
             
                    results[type] = matcher.matches_for_term(term, :limit => limit)
         
     | 
| 
       26 
28 
     | 
    
         
             
                  end
         
     | 
| 
       27 
29 
     | 
    
         | 
| 
         @@ -32,7 +34,8 @@ module Soulmate 
     | 
|
| 
       32 
34 
     | 
    
         
             
                end
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
                not_found do
         
     | 
| 
       35 
     | 
    
         
            -
                  ' 
     | 
| 
      
 37 
     | 
    
         
            +
                  content_type 'application/json', :charset => 'utf-8'
         
     | 
| 
      
 38 
     | 
    
         
            +
                  JSON.pretty_generate({ :error => "not found" })
         
     | 
| 
       36 
39 
     | 
    
         
             
                end
         
     | 
| 
       37 
40 
     | 
    
         | 
| 
       38 
41 
     | 
    
         
             
              end
         
     | 
    
        data/lib/soulmate.rb
    CHANGED
    
    
    
        data/soulmate.gemspec
    CHANGED
    
    | 
         @@ -5,12 +5,12 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{soulmate}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.0. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.0.2"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Eric Waller"]
         
     | 
| 
       12 
12 
     | 
    
         
             
              s.date = %q{2011-02-14}
         
     | 
| 
       13 
     | 
    
         
            -
              s.description = %q{Soulmate is a tool to help solve the common problem of developing a fast autocomplete feature. It uses Redis's sorted sets to build an index of partial words and corresponding top matches, and provides a simple sinatra app to query them. Soulmate  
     | 
| 
      
 13 
     | 
    
         
            +
              s.description = %q{Soulmate is a tool to help solve the common problem of developing a fast autocomplete feature. It uses Redis's sorted sets to build an index of partial words and corresponding top matches, and provides a simple sinatra app to query them. Soulmate finishes your sentences.}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email = %q{eric@seatgeek.com}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.executables = ["soulmate", "soulmate-web"]
         
     | 
| 
       16 
16 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
| 
         @@ -24,7 +24,6 @@ Gem::Specification.new do |s| 
     | 
|
| 
       24 
24 
     | 
    
         
             
                "LICENSE.txt",
         
     | 
| 
       25 
25 
     | 
    
         
             
                "README.rdoc",
         
     | 
| 
       26 
26 
     | 
    
         
             
                "Rakefile",
         
     | 
| 
       27 
     | 
    
         
            -
                "VERSION",
         
     | 
| 
       28 
27 
     | 
    
         
             
                "bin/soulmate",
         
     | 
| 
       29 
28 
     | 
    
         
             
                "bin/soulmate-web",
         
     | 
| 
       30 
29 
     | 
    
         
             
                "lib/soulmate.rb",
         
     | 
| 
         @@ -33,6 +32,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       33 
32 
     | 
    
         
             
                "lib/soulmate/loader.rb",
         
     | 
| 
       34 
33 
     | 
    
         
             
                "lib/soulmate/matcher.rb",
         
     | 
| 
       35 
34 
     | 
    
         
             
                "lib/soulmate/server.rb",
         
     | 
| 
      
 35 
     | 
    
         
            +
                "lib/soulmate/version.rb",
         
     | 
| 
       36 
36 
     | 
    
         
             
                "soulmate.gemspec",
         
     | 
| 
       37 
37 
     | 
    
         
             
                "test/helper.rb",
         
     | 
| 
       38 
38 
     | 
    
         
             
                "test/test_soulmate.rb"
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Eric Waller
         
     | 
| 
         @@ -131,7 +131,7 @@ dependencies: 
     | 
|
| 
       131 
131 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       132 
132 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       133 
133 
     | 
    
         
             
              version_requirements: *id008
         
     | 
| 
       134 
     | 
    
         
            -
            description: Soulmate is a tool to help solve the common problem of developing a fast autocomplete feature. It uses Redis's sorted sets to build an index of partial words and corresponding top matches, and provides a simple sinatra app to query them. Soulmate  
     | 
| 
      
 134 
     | 
    
         
            +
            description: Soulmate is a tool to help solve the common problem of developing a fast autocomplete feature. It uses Redis's sorted sets to build an index of partial words and corresponding top matches, and provides a simple sinatra app to query them. Soulmate finishes your sentences.
         
     | 
| 
       135 
135 
     | 
    
         
             
            email: eric@seatgeek.com
         
     | 
| 
       136 
136 
     | 
    
         
             
            executables: 
         
     | 
| 
       137 
137 
     | 
    
         
             
            - soulmate
         
     | 
| 
         @@ -148,7 +148,6 @@ files: 
     | 
|
| 
       148 
148 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
       149 
149 
     | 
    
         
             
            - README.rdoc
         
     | 
| 
       150 
150 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       151 
     | 
    
         
            -
            - VERSION
         
     | 
| 
       152 
151 
     | 
    
         
             
            - bin/soulmate
         
     | 
| 
       153 
152 
     | 
    
         
             
            - bin/soulmate-web
         
     | 
| 
       154 
153 
     | 
    
         
             
            - lib/soulmate.rb
         
     | 
| 
         @@ -157,6 +156,7 @@ files: 
     | 
|
| 
       157 
156 
     | 
    
         
             
            - lib/soulmate/loader.rb
         
     | 
| 
       158 
157 
     | 
    
         
             
            - lib/soulmate/matcher.rb
         
     | 
| 
       159 
158 
     | 
    
         
             
            - lib/soulmate/server.rb
         
     | 
| 
      
 159 
     | 
    
         
            +
            - lib/soulmate/version.rb
         
     | 
| 
       160 
160 
     | 
    
         
             
            - soulmate.gemspec
         
     | 
| 
       161 
161 
     | 
    
         
             
            - test/helper.rb
         
     | 
| 
       162 
162 
     | 
    
         
             
            - test/test_soulmate.rb
         
     | 
| 
         @@ -174,7 +174,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       174 
174 
     | 
    
         
             
              requirements: 
         
     | 
| 
       175 
175 
     | 
    
         
             
              - - ">="
         
     | 
| 
       176 
176 
     | 
    
         
             
                - !ruby/object:Gem::Version 
         
     | 
| 
       177 
     | 
    
         
            -
                  hash: - 
     | 
| 
      
 177 
     | 
    
         
            +
                  hash: -955125361
         
     | 
| 
       178 
178 
     | 
    
         
             
                  segments: 
         
     | 
| 
       179 
179 
     | 
    
         
             
                  - 0
         
     | 
| 
       180 
180 
     | 
    
         
             
                  version: "0"
         
     | 
    
        data/VERSION
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.0.1
         
     |