picky 1.4.1 → 1.4.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.
Files changed (229) hide show
  1. data/lib/picky/{alias_instances.rb → aliases.rb} +1 -3
  2. data/lib/picky/application.rb +18 -19
  3. data/lib/picky/cores.rb +1 -1
  4. data/lib/picky/generators/aliases.rb +3 -0
  5. data/lib/picky/index/base.rb +179 -0
  6. data/lib/picky/index/memory.rb +28 -0
  7. data/lib/picky/index/redis.rb +28 -0
  8. data/lib/picky/{indexes_api.rb → index_bundle.rb} +16 -16
  9. data/lib/picky/indexed/indexes.rb +11 -7
  10. data/lib/picky/indexing/indexes.rb +14 -8
  11. data/lib/picky/internals/adapters/rack/base.rb +27 -0
  12. data/lib/picky/internals/adapters/rack/live_parameters.rb +37 -0
  13. data/lib/picky/internals/adapters/rack/query.rb +63 -0
  14. data/lib/picky/internals/adapters/rack.rb +34 -0
  15. data/lib/picky/{calculations → internals/calculations}/location.rb +0 -0
  16. data/lib/picky/{cli.rb → internals/cli.rb} +0 -0
  17. data/lib/picky/{configuration → internals/configuration}/index.rb +8 -2
  18. data/lib/picky/{ext → internals/ext}/maybe_compile.rb +0 -0
  19. data/lib/picky/{ext → internals/ext}/ruby19/extconf.rb +0 -0
  20. data/lib/picky/{ext → internals/ext}/ruby19/performant.c +0 -0
  21. data/lib/picky/{extensions → internals/extensions}/array.rb +0 -0
  22. data/lib/picky/{extensions → internals/extensions}/hash.rb +0 -0
  23. data/lib/picky/{extensions → internals/extensions}/module.rb +0 -0
  24. data/lib/picky/{extensions → internals/extensions}/object.rb +0 -0
  25. data/lib/picky/{extensions → internals/extensions}/symbol.rb +0 -0
  26. data/lib/picky/internals/frontend_adapters/rack.rb +154 -0
  27. data/lib/picky/internals/generators/base.rb +19 -0
  28. data/lib/picky/internals/generators/partial/default.rb +7 -0
  29. data/lib/picky/internals/generators/partial/none.rb +35 -0
  30. data/lib/picky/internals/generators/partial/strategy.rb +29 -0
  31. data/lib/picky/internals/generators/partial/substring.rb +122 -0
  32. data/lib/picky/internals/generators/partial_generator.rb +19 -0
  33. data/lib/picky/internals/generators/similarity/default.rb +9 -0
  34. data/lib/picky/internals/generators/similarity/double_levenshtone.rb +81 -0
  35. data/lib/picky/internals/generators/similarity/none.rb +35 -0
  36. data/lib/picky/internals/generators/similarity/strategy.rb +11 -0
  37. data/lib/picky/internals/generators/similarity_generator.rb +19 -0
  38. data/lib/picky/internals/generators/strategy.rb +18 -0
  39. data/lib/picky/internals/generators/weights/default.rb +9 -0
  40. data/lib/picky/internals/generators/weights/logarithmic.rb +43 -0
  41. data/lib/picky/internals/generators/weights/strategy.rb +11 -0
  42. data/lib/picky/internals/generators/weights_generator.rb +19 -0
  43. data/lib/picky/{helpers → internals/helpers}/measuring.rb +0 -0
  44. data/lib/picky/internals/index/backend.rb +113 -0
  45. data/lib/picky/internals/index/file/basic.rb +101 -0
  46. data/lib/picky/internals/index/file/json.rb +38 -0
  47. data/lib/picky/internals/index/file/marshal.rb +38 -0
  48. data/lib/picky/internals/index/file/text.rb +60 -0
  49. data/lib/picky/internals/index/files.rb +24 -0
  50. data/lib/picky/internals/index/redis/basic.rb +77 -0
  51. data/lib/picky/internals/index/redis/list_hash.rb +46 -0
  52. data/lib/picky/internals/index/redis/string_hash.rb +35 -0
  53. data/lib/picky/internals/index/redis.rb +44 -0
  54. data/lib/picky/internals/indexed/bundle/base.rb +72 -0
  55. data/lib/picky/internals/indexed/bundle/memory.rb +69 -0
  56. data/lib/picky/internals/indexed/bundle/redis.rb +70 -0
  57. data/lib/picky/internals/indexed/categories.rb +135 -0
  58. data/lib/picky/internals/indexed/category.rb +90 -0
  59. data/lib/picky/internals/indexed/index.rb +57 -0
  60. data/lib/picky/{indexed → internals/indexed}/wrappers/bundle/calculation.rb +0 -0
  61. data/lib/picky/{indexed → internals/indexed}/wrappers/bundle/location.rb +4 -2
  62. data/lib/picky/{indexed → internals/indexed}/wrappers/bundle/wrapper.rb +1 -1
  63. data/lib/picky/internals/indexed/wrappers/exact_first.rb +65 -0
  64. data/lib/picky/{indexers → internals/indexers}/no_source_specified_error.rb +0 -0
  65. data/lib/picky/{indexers → internals/indexers}/serial.rb +2 -2
  66. data/lib/picky/{indexers → internals/indexers}/solr.rb +0 -0
  67. data/lib/picky/internals/indexing/bundle/base.rb +219 -0
  68. data/lib/picky/internals/indexing/bundle/memory.rb +25 -0
  69. data/lib/picky/internals/indexing/bundle/redis.rb +28 -0
  70. data/lib/picky/internals/indexing/bundle/super_base.rb +65 -0
  71. data/lib/picky/internals/indexing/categories.rb +42 -0
  72. data/lib/picky/internals/indexing/category.rb +120 -0
  73. data/lib/picky/internals/indexing/index.rb +67 -0
  74. data/lib/picky/{performant.rb → internals/performant.rb} +0 -0
  75. data/lib/picky/internals/query/allocation.rb +88 -0
  76. data/lib/picky/internals/query/allocations.rb +137 -0
  77. data/lib/picky/internals/query/combination.rb +80 -0
  78. data/lib/picky/internals/query/combinations/base.rb +84 -0
  79. data/lib/picky/internals/query/combinations/memory.rb +58 -0
  80. data/lib/picky/internals/query/combinations/redis.rb +59 -0
  81. data/lib/picky/internals/query/indexes.rb +180 -0
  82. data/lib/picky/internals/query/qualifiers.rb +81 -0
  83. data/lib/picky/internals/query/token.rb +215 -0
  84. data/lib/picky/internals/query/tokens.rb +89 -0
  85. data/lib/picky/{query → internals/query}/weights.rb +0 -0
  86. data/lib/picky/internals/results/base.rb +106 -0
  87. data/lib/picky/internals/results/full.rb +17 -0
  88. data/lib/picky/internals/results/live.rb +17 -0
  89. data/lib/picky/{solr → internals/solr}/schema_generator.rb +0 -0
  90. data/lib/picky/internals/tokenizers/base.rb +166 -0
  91. data/lib/picky/internals/tokenizers/index.rb +63 -0
  92. data/lib/picky/internals/tokenizers/query.rb +79 -0
  93. data/lib/picky/loader.rb +148 -112
  94. data/lib/picky/query/base.rb +57 -26
  95. data/lib/picky/query/full.rb +1 -1
  96. data/lib/picky/query/live.rb +1 -1
  97. data/lib/picky/sources/db.rb +27 -6
  98. data/lib/tasks/index.rake +3 -3
  99. data/lib/tasks/try.rake +2 -2
  100. data/spec/lib/aliases_spec.rb +9 -0
  101. data/spec/lib/application_spec.rb +3 -3
  102. data/spec/lib/generators/aliases_spec.rb +1 -0
  103. data/spec/lib/{index_api_spec.rb → index/base_spec.rb} +7 -7
  104. data/spec/lib/index_bundle_spec.rb +71 -0
  105. data/spec/lib/indexed/indexes_spec.rb +61 -0
  106. data/spec/lib/indexing/indexes_spec.rb +94 -24
  107. data/spec/lib/{adapters → internals/adapters}/rack/base_spec.rb +2 -2
  108. data/spec/lib/{adapters → internals/adapters}/rack/live_parameters_spec.rb +2 -2
  109. data/spec/lib/{adapters → internals/adapters}/rack/query_spec.rb +2 -2
  110. data/spec/lib/{calculations → internals/calculations}/location_spec.rb +0 -0
  111. data/spec/lib/{cli_spec.rb → internals/cli_spec.rb} +4 -1
  112. data/spec/lib/{configuration → internals/configuration}/index_spec.rb +1 -1
  113. data/spec/lib/{cores_spec.rb → internals/cores_spec.rb} +0 -0
  114. data/spec/lib/{extensions → internals/extensions}/array_spec.rb +0 -0
  115. data/spec/lib/{extensions → internals/extensions}/hash_spec.rb +0 -0
  116. data/spec/lib/{extensions → internals/extensions}/module_spec.rb +0 -0
  117. data/spec/lib/{extensions → internals/extensions}/object_spec.rb +0 -0
  118. data/spec/lib/{extensions → internals/extensions}/symbol_spec.rb +0 -0
  119. data/spec/lib/{frontend_adapters → internals/frontend_adapters}/rack_spec.rb +11 -11
  120. data/spec/lib/{cacher → internals/generators}/cacher_strategy_spec.rb +2 -2
  121. data/spec/lib/internals/generators/partial/default_spec.rb +17 -0
  122. data/spec/lib/internals/generators/partial/none_spec.rb +17 -0
  123. data/spec/lib/{cacher → internals/generators}/partial/substring_spec.rb +26 -27
  124. data/spec/lib/{cacher → internals/generators}/partial_generator_spec.rb +5 -5
  125. data/spec/lib/{cacher → internals/generators}/similarity/double_levenshtone_spec.rb +4 -4
  126. data/spec/lib/{cacher → internals/generators}/similarity/none_spec.rb +2 -2
  127. data/spec/lib/{cacher → internals/generators}/similarity_generator_spec.rb +4 -4
  128. data/spec/lib/{cacher → internals/generators}/weights/logarithmic_spec.rb +2 -2
  129. data/spec/lib/internals/generators/weights_generator_spec.rb +21 -0
  130. data/spec/lib/{helpers → internals/helpers}/measuring_spec.rb +0 -0
  131. data/spec/lib/{index → internals/index}/file/basic_spec.rb +2 -2
  132. data/spec/lib/{index → internals/index}/file/json_spec.rb +2 -2
  133. data/spec/lib/{index → internals/index}/file/marshal_spec.rb +2 -2
  134. data/spec/lib/{index → internals/index}/file/text_spec.rb +2 -2
  135. data/spec/lib/{index → internals/index}/files_spec.rb +2 -2
  136. data/spec/lib/{indexed/bundle_spec.rb → internals/indexed/bundle/memory_spec.rb} +4 -5
  137. data/spec/lib/{indexed → internals/indexed}/categories_spec.rb +13 -13
  138. data/spec/lib/{indexed → internals/indexed}/category_spec.rb +59 -32
  139. data/spec/lib/{indexed → internals/indexed}/index_spec.rb +5 -5
  140. data/spec/lib/{indexed → internals/indexed}/wrappers/bundle/calculation_spec.rb +0 -0
  141. data/spec/lib/{indexed → internals/indexed}/wrappers/bundle/wrapper_spec.rb +0 -0
  142. data/spec/lib/{indexed → internals/indexed}/wrappers/exact_first_spec.rb +5 -5
  143. data/spec/lib/{indexers → internals/indexers}/serial_spec.rb +0 -0
  144. data/spec/lib/{indexing/bundle_partial_generation_speed_spec.rb → internals/indexing/bundle/memory_partial_generation_speed_spec.rb} +3 -3
  145. data/spec/lib/{indexing/bundle_spec.rb → internals/indexing/bundle/memory_spec.rb} +3 -3
  146. data/spec/lib/{index/bundle_spec.rb → internals/indexing/bundle/super_base_spec.rb} +9 -3
  147. data/spec/lib/{indexing → internals/indexing}/category_spec.rb +3 -3
  148. data/spec/lib/{indexing → internals/indexing}/index_spec.rb +3 -3
  149. data/spec/lib/internals/indexing/indexes_spec.rb +36 -0
  150. data/spec/lib/{interfaces → internals/interfaces}/live_parameters_spec.rb +0 -0
  151. data/spec/lib/internals/results/base_spec.rb +105 -0
  152. data/spec/lib/internals/results/full_spec.rb +78 -0
  153. data/spec/lib/internals/results/live_spec.rb +88 -0
  154. data/spec/lib/{solr → internals/solr}/schema_generator_spec.rb +0 -0
  155. data/spec/lib/{tokenizers → internals/tokenizers}/base_spec.rb +3 -3
  156. data/spec/lib/{tokenizers → internals/tokenizers}/index_spec.rb +9 -9
  157. data/spec/lib/{tokenizers → internals/tokenizers}/query_spec.rb +11 -11
  158. data/spec/lib/query/allocation_spec.rb +12 -12
  159. data/spec/lib/query/allocations_spec.rb +19 -19
  160. data/spec/lib/query/base_spec.rb +28 -4
  161. data/spec/lib/query/combination_spec.rb +8 -9
  162. data/spec/lib/query/combinations/base_spec.rb +116 -0
  163. data/spec/lib/query/{combinations_spec.rb → combinations/memory_spec.rb} +14 -14
  164. data/spec/lib/query/combinations/redis_spec.rb +132 -0
  165. data/spec/lib/query/full_spec.rb +2 -2
  166. data/spec/lib/query/indexes_spec.rb +81 -0
  167. data/spec/lib/query/live_spec.rb +3 -3
  168. data/spec/lib/query/qualifiers_spec.rb +6 -6
  169. data/spec/lib/query/token_spec.rb +38 -38
  170. data/spec/lib/query/tokens_spec.rb +35 -35
  171. data/spec/lib/sources/db_spec.rb +23 -18
  172. metadata +212 -181
  173. data/lib/picky/adapters/rack/base.rb +0 -23
  174. data/lib/picky/adapters/rack/live_parameters.rb +0 -33
  175. data/lib/picky/adapters/rack/query.rb +0 -59
  176. data/lib/picky/adapters/rack.rb +0 -28
  177. data/lib/picky/cacher/convenience.rb +0 -3
  178. data/lib/picky/cacher/generator.rb +0 -15
  179. data/lib/picky/cacher/partial/default.rb +0 -5
  180. data/lib/picky/cacher/partial/none.rb +0 -31
  181. data/lib/picky/cacher/partial/strategy.rb +0 -21
  182. data/lib/picky/cacher/partial/substring.rb +0 -118
  183. data/lib/picky/cacher/partial_generator.rb +0 -15
  184. data/lib/picky/cacher/similarity/default.rb +0 -7
  185. data/lib/picky/cacher/similarity/double_levenshtone.rb +0 -77
  186. data/lib/picky/cacher/similarity/none.rb +0 -31
  187. data/lib/picky/cacher/similarity/strategy.rb +0 -9
  188. data/lib/picky/cacher/similarity_generator.rb +0 -15
  189. data/lib/picky/cacher/strategy.rb +0 -12
  190. data/lib/picky/cacher/weights/default.rb +0 -7
  191. data/lib/picky/cacher/weights/logarithmic.rb +0 -39
  192. data/lib/picky/cacher/weights/strategy.rb +0 -9
  193. data/lib/picky/cacher/weights_generator.rb +0 -15
  194. data/lib/picky/frontend_adapters/rack.rb +0 -150
  195. data/lib/picky/index/bundle.rb +0 -54
  196. data/lib/picky/index/file/basic.rb +0 -97
  197. data/lib/picky/index/file/json.rb +0 -34
  198. data/lib/picky/index/file/marshal.rb +0 -34
  199. data/lib/picky/index/file/text.rb +0 -56
  200. data/lib/picky/index/files.rb +0 -118
  201. data/lib/picky/index_api.rb +0 -175
  202. data/lib/picky/indexed/bundle.rb +0 -54
  203. data/lib/picky/indexed/categories.rb +0 -131
  204. data/lib/picky/indexed/category.rb +0 -85
  205. data/lib/picky/indexed/index.rb +0 -39
  206. data/lib/picky/indexed/wrappers/exact_first.rb +0 -61
  207. data/lib/picky/indexing/bundle.rb +0 -213
  208. data/lib/picky/indexing/categories.rb +0 -38
  209. data/lib/picky/indexing/category.rb +0 -117
  210. data/lib/picky/indexing/index.rb +0 -55
  211. data/lib/picky/query/allocation.rb +0 -82
  212. data/lib/picky/query/allocations.rb +0 -130
  213. data/lib/picky/query/combination.rb +0 -74
  214. data/lib/picky/query/combinations.rb +0 -105
  215. data/lib/picky/query/qualifiers.rb +0 -77
  216. data/lib/picky/query/token.rb +0 -202
  217. data/lib/picky/query/tokens.rb +0 -86
  218. data/lib/picky/query/weigher.rb +0 -165
  219. data/lib/picky/results/base.rb +0 -102
  220. data/lib/picky/results/full.rb +0 -13
  221. data/lib/picky/results/live.rb +0 -13
  222. data/lib/picky/tokenizers/base.rb +0 -161
  223. data/lib/picky/tokenizers/index.rb +0 -58
  224. data/lib/picky/tokenizers/query.rb +0 -74
  225. data/spec/lib/cacher/partial/default_spec.rb +0 -15
  226. data/spec/lib/cacher/partial/none_spec.rb +0 -17
  227. data/spec/lib/cacher/weights_generator_spec.rb +0 -21
  228. data/spec/lib/results/base_spec.rb +0 -257
  229. data/spec/lib/results/live_spec.rb +0 -15
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: picky
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.4.1
5
+ version: 1.4.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Florian Hanke
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-02-19 00:00:00 +01:00
13
+ date: 2011-02-28 00:00:00 +01:00
14
14
  default_executable: picky
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -29,98 +29,114 @@ email: florian.hanke+picky@gmail.com
29
29
  executables:
30
30
  - picky
31
31
  extensions:
32
- - lib/picky/ext/ruby19/extconf.rb
32
+ - lib/picky/internals/ext/ruby19/extconf.rb
33
33
  extra_rdoc_files: []
34
34
 
35
35
  files:
36
36
  - lib/bundling.rb
37
37
  - lib/constants.rb
38
38
  - lib/deployment.rb
39
- - lib/picky/adapters/rack/base.rb
40
- - lib/picky/adapters/rack/live_parameters.rb
41
- - lib/picky/adapters/rack/query.rb
42
- - lib/picky/adapters/rack.rb
43
- - lib/picky/alias_instances.rb
39
+ - lib/picky/aliases.rb
44
40
  - lib/picky/application.rb
45
- - lib/picky/cacher/convenience.rb
46
- - lib/picky/cacher/generator.rb
47
- - lib/picky/cacher/partial/default.rb
48
- - lib/picky/cacher/partial/none.rb
49
- - lib/picky/cacher/partial/strategy.rb
50
- - lib/picky/cacher/partial/substring.rb
51
- - lib/picky/cacher/partial_generator.rb
52
- - lib/picky/cacher/similarity/default.rb
53
- - lib/picky/cacher/similarity/double_levenshtone.rb
54
- - lib/picky/cacher/similarity/none.rb
55
- - lib/picky/cacher/similarity/strategy.rb
56
- - lib/picky/cacher/similarity_generator.rb
57
- - lib/picky/cacher/strategy.rb
58
- - lib/picky/cacher/weights/default.rb
59
- - lib/picky/cacher/weights/logarithmic.rb
60
- - lib/picky/cacher/weights/strategy.rb
61
- - lib/picky/cacher/weights_generator.rb
62
- - lib/picky/calculations/location.rb
63
41
  - lib/picky/character_substituters/west_european.rb
64
- - lib/picky/cli.rb
65
- - lib/picky/configuration/index.rb
66
42
  - lib/picky/cores.rb
67
- - lib/picky/ext/maybe_compile.rb
68
- - lib/picky/ext/ruby19/extconf.rb
69
- - lib/picky/extensions/array.rb
70
- - lib/picky/extensions/hash.rb
71
- - lib/picky/extensions/module.rb
72
- - lib/picky/extensions/object.rb
73
- - lib/picky/extensions/symbol.rb
74
- - lib/picky/frontend_adapters/rack.rb
75
- - lib/picky/helpers/measuring.rb
76
- - lib/picky/index/bundle.rb
77
- - lib/picky/index/file/basic.rb
78
- - lib/picky/index/file/json.rb
79
- - lib/picky/index/file/marshal.rb
80
- - lib/picky/index/file/text.rb
81
- - lib/picky/index/files.rb
82
- - lib/picky/index_api.rb
83
- - lib/picky/indexed/bundle.rb
84
- - lib/picky/indexed/categories.rb
85
- - lib/picky/indexed/category.rb
86
- - lib/picky/indexed/index.rb
43
+ - lib/picky/generators/aliases.rb
44
+ - lib/picky/index/base.rb
45
+ - lib/picky/index/memory.rb
46
+ - lib/picky/index/redis.rb
47
+ - lib/picky/index_bundle.rb
87
48
  - lib/picky/indexed/indexes.rb
88
- - lib/picky/indexed/wrappers/bundle/calculation.rb
89
- - lib/picky/indexed/wrappers/bundle/location.rb
90
- - lib/picky/indexed/wrappers/bundle/wrapper.rb
91
- - lib/picky/indexed/wrappers/exact_first.rb
92
- - lib/picky/indexers/no_source_specified_error.rb
93
- - lib/picky/indexers/serial.rb
94
- - lib/picky/indexers/solr.rb
95
- - lib/picky/indexes_api.rb
96
- - lib/picky/indexing/bundle.rb
97
- - lib/picky/indexing/categories.rb
98
- - lib/picky/indexing/category.rb
99
- - lib/picky/indexing/index.rb
100
49
  - lib/picky/indexing/indexes.rb
101
50
  - lib/picky/interfaces/live_parameters.rb
51
+ - lib/picky/internals/adapters/rack/base.rb
52
+ - lib/picky/internals/adapters/rack/live_parameters.rb
53
+ - lib/picky/internals/adapters/rack/query.rb
54
+ - lib/picky/internals/adapters/rack.rb
55
+ - lib/picky/internals/calculations/location.rb
56
+ - lib/picky/internals/cli.rb
57
+ - lib/picky/internals/configuration/index.rb
58
+ - lib/picky/internals/ext/maybe_compile.rb
59
+ - lib/picky/internals/ext/ruby19/extconf.rb
60
+ - lib/picky/internals/extensions/array.rb
61
+ - lib/picky/internals/extensions/hash.rb
62
+ - lib/picky/internals/extensions/module.rb
63
+ - lib/picky/internals/extensions/object.rb
64
+ - lib/picky/internals/extensions/symbol.rb
65
+ - lib/picky/internals/frontend_adapters/rack.rb
66
+ - lib/picky/internals/generators/base.rb
67
+ - lib/picky/internals/generators/partial/default.rb
68
+ - lib/picky/internals/generators/partial/none.rb
69
+ - lib/picky/internals/generators/partial/strategy.rb
70
+ - lib/picky/internals/generators/partial/substring.rb
71
+ - lib/picky/internals/generators/partial_generator.rb
72
+ - lib/picky/internals/generators/similarity/default.rb
73
+ - lib/picky/internals/generators/similarity/double_levenshtone.rb
74
+ - lib/picky/internals/generators/similarity/none.rb
75
+ - lib/picky/internals/generators/similarity/strategy.rb
76
+ - lib/picky/internals/generators/similarity_generator.rb
77
+ - lib/picky/internals/generators/strategy.rb
78
+ - lib/picky/internals/generators/weights/default.rb
79
+ - lib/picky/internals/generators/weights/logarithmic.rb
80
+ - lib/picky/internals/generators/weights/strategy.rb
81
+ - lib/picky/internals/generators/weights_generator.rb
82
+ - lib/picky/internals/helpers/measuring.rb
83
+ - lib/picky/internals/index/backend.rb
84
+ - lib/picky/internals/index/file/basic.rb
85
+ - lib/picky/internals/index/file/json.rb
86
+ - lib/picky/internals/index/file/marshal.rb
87
+ - lib/picky/internals/index/file/text.rb
88
+ - lib/picky/internals/index/files.rb
89
+ - lib/picky/internals/index/redis/basic.rb
90
+ - lib/picky/internals/index/redis/list_hash.rb
91
+ - lib/picky/internals/index/redis/string_hash.rb
92
+ - lib/picky/internals/index/redis.rb
93
+ - lib/picky/internals/indexed/bundle/base.rb
94
+ - lib/picky/internals/indexed/bundle/memory.rb
95
+ - lib/picky/internals/indexed/bundle/redis.rb
96
+ - lib/picky/internals/indexed/categories.rb
97
+ - lib/picky/internals/indexed/category.rb
98
+ - lib/picky/internals/indexed/index.rb
99
+ - lib/picky/internals/indexed/wrappers/bundle/calculation.rb
100
+ - lib/picky/internals/indexed/wrappers/bundle/location.rb
101
+ - lib/picky/internals/indexed/wrappers/bundle/wrapper.rb
102
+ - lib/picky/internals/indexed/wrappers/exact_first.rb
103
+ - lib/picky/internals/indexers/no_source_specified_error.rb
104
+ - lib/picky/internals/indexers/serial.rb
105
+ - lib/picky/internals/indexers/solr.rb
106
+ - lib/picky/internals/indexing/bundle/base.rb
107
+ - lib/picky/internals/indexing/bundle/memory.rb
108
+ - lib/picky/internals/indexing/bundle/redis.rb
109
+ - lib/picky/internals/indexing/bundle/super_base.rb
110
+ - lib/picky/internals/indexing/categories.rb
111
+ - lib/picky/internals/indexing/category.rb
112
+ - lib/picky/internals/indexing/index.rb
113
+ - lib/picky/internals/performant.rb
114
+ - lib/picky/internals/query/allocation.rb
115
+ - lib/picky/internals/query/allocations.rb
116
+ - lib/picky/internals/query/combination.rb
117
+ - lib/picky/internals/query/combinations/base.rb
118
+ - lib/picky/internals/query/combinations/memory.rb
119
+ - lib/picky/internals/query/combinations/redis.rb
120
+ - lib/picky/internals/query/indexes.rb
121
+ - lib/picky/internals/query/qualifiers.rb
122
+ - lib/picky/internals/query/token.rb
123
+ - lib/picky/internals/query/tokens.rb
124
+ - lib/picky/internals/query/weights.rb
125
+ - lib/picky/internals/results/base.rb
126
+ - lib/picky/internals/results/full.rb
127
+ - lib/picky/internals/results/live.rb
128
+ - lib/picky/internals/solr/schema_generator.rb
129
+ - lib/picky/internals/tokenizers/base.rb
130
+ - lib/picky/internals/tokenizers/index.rb
131
+ - lib/picky/internals/tokenizers/query.rb
102
132
  - lib/picky/loader.rb
103
133
  - lib/picky/loggers/search.rb
104
- - lib/picky/performant.rb
105
- - lib/picky/query/allocation.rb
106
- - lib/picky/query/allocations.rb
107
134
  - lib/picky/query/base.rb
108
- - lib/picky/query/combination.rb
109
- - lib/picky/query/combinations.rb
110
135
  - lib/picky/query/full.rb
111
136
  - lib/picky/query/live.rb
112
- - lib/picky/query/qualifiers.rb
113
137
  - lib/picky/query/solr.rb
114
- - lib/picky/query/token.rb
115
- - lib/picky/query/tokens.rb
116
- - lib/picky/query/weigher.rb
117
- - lib/picky/query/weights.rb
118
138
  - lib/picky/rack/harakiri.rb
119
- - lib/picky/results/base.rb
120
- - lib/picky/results/full.rb
121
- - lib/picky/results/live.rb
122
139
  - lib/picky/signals.rb
123
- - lib/picky/solr/schema_generator.rb
124
140
  - lib/picky/sources/base.rb
125
141
  - lib/picky/sources/couch.rb
126
142
  - lib/picky/sources/csv.rb
@@ -128,9 +144,6 @@ files:
128
144
  - lib/picky/sources/delicious.rb
129
145
  - lib/picky/sources/wrappers/base.rb
130
146
  - lib/picky/sources/wrappers/location.rb
131
- - lib/picky/tokenizers/base.rb
132
- - lib/picky/tokenizers/index.rb
133
- - lib/picky/tokenizers/query.rb
134
147
  - lib/picky-tasks.rb
135
148
  - lib/picky.rb
136
149
  - lib/tasks/application.rake
@@ -143,63 +156,78 @@ files:
143
156
  - lib/tasks/spec.rake
144
157
  - lib/tasks/statistics.rake
145
158
  - lib/tasks/try.rake
146
- - lib/picky/ext/ruby19/performant.c
159
+ - lib/picky/internals/ext/ruby19/performant.c
147
160
  - spec/ext/performant_spec.rb
148
- - spec/lib/adapters/rack/base_spec.rb
149
- - spec/lib/adapters/rack/live_parameters_spec.rb
150
- - spec/lib/adapters/rack/query_spec.rb
161
+ - spec/lib/aliases_spec.rb
151
162
  - spec/lib/application_spec.rb
152
- - spec/lib/cacher/cacher_strategy_spec.rb
153
- - spec/lib/cacher/partial/default_spec.rb
154
- - spec/lib/cacher/partial/none_spec.rb
155
- - spec/lib/cacher/partial/substring_spec.rb
156
- - spec/lib/cacher/partial_generator_spec.rb
157
- - spec/lib/cacher/similarity/double_levenshtone_spec.rb
158
- - spec/lib/cacher/similarity/none_spec.rb
159
- - spec/lib/cacher/similarity_generator_spec.rb
160
- - spec/lib/cacher/weights/logarithmic_spec.rb
161
- - spec/lib/cacher/weights_generator_spec.rb
162
- - spec/lib/calculations/location_spec.rb
163
163
  - spec/lib/character_substituters/west_european_spec.rb
164
- - spec/lib/cli_spec.rb
165
- - spec/lib/configuration/index_spec.rb
166
- - spec/lib/cores_spec.rb
167
- - spec/lib/extensions/array_spec.rb
168
- - spec/lib/extensions/hash_spec.rb
169
- - spec/lib/extensions/module_spec.rb
170
- - spec/lib/extensions/object_spec.rb
171
- - spec/lib/extensions/symbol_spec.rb
172
- - spec/lib/frontend_adapters/rack_spec.rb
173
- - spec/lib/helpers/measuring_spec.rb
174
- - spec/lib/index/bundle_spec.rb
175
- - spec/lib/index/file/basic_spec.rb
176
- - spec/lib/index/file/json_spec.rb
177
- - spec/lib/index/file/marshal_spec.rb
178
- - spec/lib/index/file/text_spec.rb
179
- - spec/lib/index/files_spec.rb
180
- - spec/lib/index_api_spec.rb
181
- - spec/lib/indexed/bundle_spec.rb
182
- - spec/lib/indexed/categories_spec.rb
183
- - spec/lib/indexed/category_spec.rb
184
- - spec/lib/indexed/index_spec.rb
185
- - spec/lib/indexed/wrappers/bundle/calculation_spec.rb
186
- - spec/lib/indexed/wrappers/bundle/wrapper_spec.rb
187
- - spec/lib/indexed/wrappers/exact_first_spec.rb
188
- - spec/lib/indexers/serial_spec.rb
189
- - spec/lib/indexing/bundle_partial_generation_speed_spec.rb
190
- - spec/lib/indexing/bundle_spec.rb
191
- - spec/lib/indexing/category_spec.rb
192
- - spec/lib/indexing/index_spec.rb
164
+ - spec/lib/generators/aliases_spec.rb
165
+ - spec/lib/index/base_spec.rb
166
+ - spec/lib/index_bundle_spec.rb
167
+ - spec/lib/indexed/indexes_spec.rb
193
168
  - spec/lib/indexing/indexes_spec.rb
194
- - spec/lib/interfaces/live_parameters_spec.rb
169
+ - spec/lib/internals/adapters/rack/base_spec.rb
170
+ - spec/lib/internals/adapters/rack/live_parameters_spec.rb
171
+ - spec/lib/internals/adapters/rack/query_spec.rb
172
+ - spec/lib/internals/calculations/location_spec.rb
173
+ - spec/lib/internals/cli_spec.rb
174
+ - spec/lib/internals/configuration/index_spec.rb
175
+ - spec/lib/internals/cores_spec.rb
176
+ - spec/lib/internals/extensions/array_spec.rb
177
+ - spec/lib/internals/extensions/hash_spec.rb
178
+ - spec/lib/internals/extensions/module_spec.rb
179
+ - spec/lib/internals/extensions/object_spec.rb
180
+ - spec/lib/internals/extensions/symbol_spec.rb
181
+ - spec/lib/internals/frontend_adapters/rack_spec.rb
182
+ - spec/lib/internals/generators/cacher_strategy_spec.rb
183
+ - spec/lib/internals/generators/partial/default_spec.rb
184
+ - spec/lib/internals/generators/partial/none_spec.rb
185
+ - spec/lib/internals/generators/partial/substring_spec.rb
186
+ - spec/lib/internals/generators/partial_generator_spec.rb
187
+ - spec/lib/internals/generators/similarity/double_levenshtone_spec.rb
188
+ - spec/lib/internals/generators/similarity/none_spec.rb
189
+ - spec/lib/internals/generators/similarity_generator_spec.rb
190
+ - spec/lib/internals/generators/weights/logarithmic_spec.rb
191
+ - spec/lib/internals/generators/weights_generator_spec.rb
192
+ - spec/lib/internals/helpers/measuring_spec.rb
193
+ - spec/lib/internals/index/file/basic_spec.rb
194
+ - spec/lib/internals/index/file/json_spec.rb
195
+ - spec/lib/internals/index/file/marshal_spec.rb
196
+ - spec/lib/internals/index/file/text_spec.rb
197
+ - spec/lib/internals/index/files_spec.rb
198
+ - spec/lib/internals/indexed/bundle/memory_spec.rb
199
+ - spec/lib/internals/indexed/categories_spec.rb
200
+ - spec/lib/internals/indexed/category_spec.rb
201
+ - spec/lib/internals/indexed/index_spec.rb
202
+ - spec/lib/internals/indexed/wrappers/bundle/calculation_spec.rb
203
+ - spec/lib/internals/indexed/wrappers/bundle/wrapper_spec.rb
204
+ - spec/lib/internals/indexed/wrappers/exact_first_spec.rb
205
+ - spec/lib/internals/indexers/serial_spec.rb
206
+ - spec/lib/internals/indexing/bundle/memory_partial_generation_speed_spec.rb
207
+ - spec/lib/internals/indexing/bundle/memory_spec.rb
208
+ - spec/lib/internals/indexing/bundle/super_base_spec.rb
209
+ - spec/lib/internals/indexing/category_spec.rb
210
+ - spec/lib/internals/indexing/index_spec.rb
211
+ - spec/lib/internals/indexing/indexes_spec.rb
212
+ - spec/lib/internals/interfaces/live_parameters_spec.rb
213
+ - spec/lib/internals/results/base_spec.rb
214
+ - spec/lib/internals/results/full_spec.rb
215
+ - spec/lib/internals/results/live_spec.rb
216
+ - spec/lib/internals/solr/schema_generator_spec.rb
217
+ - spec/lib/internals/tokenizers/base_spec.rb
218
+ - spec/lib/internals/tokenizers/index_spec.rb
219
+ - spec/lib/internals/tokenizers/query_spec.rb
195
220
  - spec/lib/loader_spec.rb
196
221
  - spec/lib/loggers/search_spec.rb
197
222
  - spec/lib/query/allocation_spec.rb
198
223
  - spec/lib/query/allocations_spec.rb
199
224
  - spec/lib/query/base_spec.rb
200
225
  - spec/lib/query/combination_spec.rb
201
- - spec/lib/query/combinations_spec.rb
226
+ - spec/lib/query/combinations/base_spec.rb
227
+ - spec/lib/query/combinations/memory_spec.rb
228
+ - spec/lib/query/combinations/redis_spec.rb
202
229
  - spec/lib/query/full_spec.rb
230
+ - spec/lib/query/indexes_spec.rb
203
231
  - spec/lib/query/live_spec.rb
204
232
  - spec/lib/query/qualifiers_spec.rb
205
233
  - spec/lib/query/solr_spec.rb
@@ -207,18 +235,12 @@ files:
207
235
  - spec/lib/query/tokens_spec.rb
208
236
  - spec/lib/query/weights_spec.rb
209
237
  - spec/lib/rack/harakiri_spec.rb
210
- - spec/lib/results/base_spec.rb
211
- - spec/lib/results/live_spec.rb
212
- - spec/lib/solr/schema_generator_spec.rb
213
238
  - spec/lib/sources/couch_spec.rb
214
239
  - spec/lib/sources/csv_spec.rb
215
240
  - spec/lib/sources/db_spec.rb
216
241
  - spec/lib/sources/delicious_spec.rb
217
242
  - spec/lib/sources/wrappers/base_spec.rb
218
243
  - spec/lib/sources/wrappers/location_spec.rb
219
- - spec/lib/tokenizers/base_spec.rb
220
- - spec/lib/tokenizers/index_spec.rb
221
- - spec/lib/tokenizers/query_spec.rb
222
244
  - spec/specific/speed_spec.rb
223
245
  - bin/picky
224
246
  has_rdoc: true
@@ -248,64 +270,79 @@ rubyforge_project: http://rubyforge.org/projects/picky
248
270
  rubygems_version: 1.5.0
249
271
  signing_key:
250
272
  specification_version: 3
251
- summary: "Picky: Combinatorial Search Engine. Clever Interface. Good Tools."
273
+ summary: "Picky: Semantic Search Engine. Clever Interface. Good Tools."
252
274
  test_files:
253
275
  - spec/ext/performant_spec.rb
254
- - spec/lib/adapters/rack/base_spec.rb
255
- - spec/lib/adapters/rack/live_parameters_spec.rb
256
- - spec/lib/adapters/rack/query_spec.rb
276
+ - spec/lib/aliases_spec.rb
257
277
  - spec/lib/application_spec.rb
258
- - spec/lib/cacher/cacher_strategy_spec.rb
259
- - spec/lib/cacher/partial/default_spec.rb
260
- - spec/lib/cacher/partial/none_spec.rb
261
- - spec/lib/cacher/partial/substring_spec.rb
262
- - spec/lib/cacher/partial_generator_spec.rb
263
- - spec/lib/cacher/similarity/double_levenshtone_spec.rb
264
- - spec/lib/cacher/similarity/none_spec.rb
265
- - spec/lib/cacher/similarity_generator_spec.rb
266
- - spec/lib/cacher/weights/logarithmic_spec.rb
267
- - spec/lib/cacher/weights_generator_spec.rb
268
- - spec/lib/calculations/location_spec.rb
269
278
  - spec/lib/character_substituters/west_european_spec.rb
270
- - spec/lib/cli_spec.rb
271
- - spec/lib/configuration/index_spec.rb
272
- - spec/lib/cores_spec.rb
273
- - spec/lib/extensions/array_spec.rb
274
- - spec/lib/extensions/hash_spec.rb
275
- - spec/lib/extensions/module_spec.rb
276
- - spec/lib/extensions/object_spec.rb
277
- - spec/lib/extensions/symbol_spec.rb
278
- - spec/lib/frontend_adapters/rack_spec.rb
279
- - spec/lib/helpers/measuring_spec.rb
280
- - spec/lib/index/bundle_spec.rb
281
- - spec/lib/index/file/basic_spec.rb
282
- - spec/lib/index/file/json_spec.rb
283
- - spec/lib/index/file/marshal_spec.rb
284
- - spec/lib/index/file/text_spec.rb
285
- - spec/lib/index/files_spec.rb
286
- - spec/lib/index_api_spec.rb
287
- - spec/lib/indexed/bundle_spec.rb
288
- - spec/lib/indexed/categories_spec.rb
289
- - spec/lib/indexed/category_spec.rb
290
- - spec/lib/indexed/index_spec.rb
291
- - spec/lib/indexed/wrappers/bundle/calculation_spec.rb
292
- - spec/lib/indexed/wrappers/bundle/wrapper_spec.rb
293
- - spec/lib/indexed/wrappers/exact_first_spec.rb
294
- - spec/lib/indexers/serial_spec.rb
295
- - spec/lib/indexing/bundle_partial_generation_speed_spec.rb
296
- - spec/lib/indexing/bundle_spec.rb
297
- - spec/lib/indexing/category_spec.rb
298
- - spec/lib/indexing/index_spec.rb
279
+ - spec/lib/generators/aliases_spec.rb
280
+ - spec/lib/index/base_spec.rb
281
+ - spec/lib/index_bundle_spec.rb
282
+ - spec/lib/indexed/indexes_spec.rb
299
283
  - spec/lib/indexing/indexes_spec.rb
300
- - spec/lib/interfaces/live_parameters_spec.rb
284
+ - spec/lib/internals/adapters/rack/base_spec.rb
285
+ - spec/lib/internals/adapters/rack/live_parameters_spec.rb
286
+ - spec/lib/internals/adapters/rack/query_spec.rb
287
+ - spec/lib/internals/calculations/location_spec.rb
288
+ - spec/lib/internals/cli_spec.rb
289
+ - spec/lib/internals/configuration/index_spec.rb
290
+ - spec/lib/internals/cores_spec.rb
291
+ - spec/lib/internals/extensions/array_spec.rb
292
+ - spec/lib/internals/extensions/hash_spec.rb
293
+ - spec/lib/internals/extensions/module_spec.rb
294
+ - spec/lib/internals/extensions/object_spec.rb
295
+ - spec/lib/internals/extensions/symbol_spec.rb
296
+ - spec/lib/internals/frontend_adapters/rack_spec.rb
297
+ - spec/lib/internals/generators/cacher_strategy_spec.rb
298
+ - spec/lib/internals/generators/partial/default_spec.rb
299
+ - spec/lib/internals/generators/partial/none_spec.rb
300
+ - spec/lib/internals/generators/partial/substring_spec.rb
301
+ - spec/lib/internals/generators/partial_generator_spec.rb
302
+ - spec/lib/internals/generators/similarity/double_levenshtone_spec.rb
303
+ - spec/lib/internals/generators/similarity/none_spec.rb
304
+ - spec/lib/internals/generators/similarity_generator_spec.rb
305
+ - spec/lib/internals/generators/weights/logarithmic_spec.rb
306
+ - spec/lib/internals/generators/weights_generator_spec.rb
307
+ - spec/lib/internals/helpers/measuring_spec.rb
308
+ - spec/lib/internals/index/file/basic_spec.rb
309
+ - spec/lib/internals/index/file/json_spec.rb
310
+ - spec/lib/internals/index/file/marshal_spec.rb
311
+ - spec/lib/internals/index/file/text_spec.rb
312
+ - spec/lib/internals/index/files_spec.rb
313
+ - spec/lib/internals/indexed/bundle/memory_spec.rb
314
+ - spec/lib/internals/indexed/categories_spec.rb
315
+ - spec/lib/internals/indexed/category_spec.rb
316
+ - spec/lib/internals/indexed/index_spec.rb
317
+ - spec/lib/internals/indexed/wrappers/bundle/calculation_spec.rb
318
+ - spec/lib/internals/indexed/wrappers/bundle/wrapper_spec.rb
319
+ - spec/lib/internals/indexed/wrappers/exact_first_spec.rb
320
+ - spec/lib/internals/indexers/serial_spec.rb
321
+ - spec/lib/internals/indexing/bundle/memory_partial_generation_speed_spec.rb
322
+ - spec/lib/internals/indexing/bundle/memory_spec.rb
323
+ - spec/lib/internals/indexing/bundle/super_base_spec.rb
324
+ - spec/lib/internals/indexing/category_spec.rb
325
+ - spec/lib/internals/indexing/index_spec.rb
326
+ - spec/lib/internals/indexing/indexes_spec.rb
327
+ - spec/lib/internals/interfaces/live_parameters_spec.rb
328
+ - spec/lib/internals/results/base_spec.rb
329
+ - spec/lib/internals/results/full_spec.rb
330
+ - spec/lib/internals/results/live_spec.rb
331
+ - spec/lib/internals/solr/schema_generator_spec.rb
332
+ - spec/lib/internals/tokenizers/base_spec.rb
333
+ - spec/lib/internals/tokenizers/index_spec.rb
334
+ - spec/lib/internals/tokenizers/query_spec.rb
301
335
  - spec/lib/loader_spec.rb
302
336
  - spec/lib/loggers/search_spec.rb
303
337
  - spec/lib/query/allocation_spec.rb
304
338
  - spec/lib/query/allocations_spec.rb
305
339
  - spec/lib/query/base_spec.rb
306
340
  - spec/lib/query/combination_spec.rb
307
- - spec/lib/query/combinations_spec.rb
341
+ - spec/lib/query/combinations/base_spec.rb
342
+ - spec/lib/query/combinations/memory_spec.rb
343
+ - spec/lib/query/combinations/redis_spec.rb
308
344
  - spec/lib/query/full_spec.rb
345
+ - spec/lib/query/indexes_spec.rb
309
346
  - spec/lib/query/live_spec.rb
310
347
  - spec/lib/query/qualifiers_spec.rb
311
348
  - spec/lib/query/solr_spec.rb
@@ -313,16 +350,10 @@ test_files:
313
350
  - spec/lib/query/tokens_spec.rb
314
351
  - spec/lib/query/weights_spec.rb
315
352
  - spec/lib/rack/harakiri_spec.rb
316
- - spec/lib/results/base_spec.rb
317
- - spec/lib/results/live_spec.rb
318
- - spec/lib/solr/schema_generator_spec.rb
319
353
  - spec/lib/sources/couch_spec.rb
320
354
  - spec/lib/sources/csv_spec.rb
321
355
  - spec/lib/sources/db_spec.rb
322
356
  - spec/lib/sources/delicious_spec.rb
323
357
  - spec/lib/sources/wrappers/base_spec.rb
324
358
  - spec/lib/sources/wrappers/location_spec.rb
325
- - spec/lib/tokenizers/base_spec.rb
326
- - spec/lib/tokenizers/index_spec.rb
327
- - spec/lib/tokenizers/query_spec.rb
328
359
  - spec/specific/speed_spec.rb
@@ -1,23 +0,0 @@
1
- module Adapters
2
- # Adapter that is plugged into a Rack outlet.
3
- #
4
- module Rack
5
-
6
- # Subclasses of this class should respond to
7
- # * to_app(options)
8
- #
9
- class Base
10
-
11
- # Puts together an appropriately structured Rack response.
12
- #
13
- # Note: Bytesize is needed to have special characters not trip up Rack.
14
- #
15
- def respond_with response, content_type = 'application/json'
16
- [200, { 'Content-Type' => content_type, 'Content-Length' => response.bytesize.to_s }, [response]]
17
- end
18
-
19
- end
20
-
21
- end
22
-
23
- end
@@ -1,33 +0,0 @@
1
- module Adapters
2
-
3
- #
4
- #
5
- module Rack
6
-
7
- class LiveParameters < Base
8
-
9
- def initialize live_parameters
10
- @live_parameters = live_parameters
11
- end
12
-
13
- #
14
- #
15
- def to_app options = {}
16
- # For capturing by the lambda block.
17
- #
18
- live_parameters = @live_parameters
19
-
20
- lambda do |env|
21
- params = ::Rack::Request.new(env).params
22
-
23
- results = live_parameters.parameters params
24
-
25
- respond_with results.to_json
26
- end
27
- end
28
-
29
- end
30
-
31
- end
32
-
33
- end
@@ -1,59 +0,0 @@
1
- module Adapters
2
- # This is an adapter that is plugged into a Rack outlet.
3
- #
4
- # It looks at what is given to it and generate an appropriate
5
- # adapter for it.
6
- #
7
- # For example, if you give it a query, it will extract the query param etc.
8
- # and call search_with_text on it if it is called by Rack.
9
- #
10
- module Rack
11
-
12
- class Query < Base
13
-
14
- @@defaults = {
15
- query_key: 'query'.freeze,
16
- offset_key: 'offset'.freeze,
17
- content_type: 'application/json'.freeze
18
- }
19
-
20
- def initialize query
21
- @query = query
22
- @defaults = @@defaults.dup
23
- end
24
-
25
- def to_app options = {}
26
- # For capturing in the lambda.
27
- #
28
- query = @query
29
- query_key = options[:query_key] || @defaults[:query_key]
30
- content_type = options[:content_type] || @defaults[:content_type]
31
-
32
- lambda do |env|
33
- params = ::Rack::Request.new(env).params
34
-
35
- results = query.search_with_text *extracted(params)
36
-
37
- PickyLog.log results.to_log(params[query_key])
38
-
39
- respond_with results.to_response, content_type
40
- end
41
- end
42
-
43
- # Helper method to extract the params
44
- #
45
- UTF8_STRING = 'UTF-8'.freeze
46
- def extracted params
47
- [
48
- # query is encoded in ASCII
49
- #
50
- params[@defaults[:query_key]] && params[@defaults[:query_key]].force_encoding(UTF8_STRING),
51
- params[@defaults[:offset_key]] && params[@defaults[:offset_key]].to_i || 0
52
- ]
53
- end
54
-
55
- end
56
-
57
- end
58
-
59
- end
@@ -1,28 +0,0 @@
1
- module Adapters
2
- # This is an adapter that is plugged into a Rack outlet.
3
- #
4
- # It looks at what is given to it and generate an appropriate
5
- # adapter for it.
6
- #
7
- # For example, if you give it a query, it will extract the query param etc.
8
- # and call search_with_text on it if it is called by Rack.
9
- #
10
- # Usage:
11
- # Adapters::Rack.app_for(thing, options)
12
- #
13
- module Rack
14
-
15
- # Generates the appropriate app for Rack.
16
- #
17
- @@mapping = {
18
- :search_with_text => Query,
19
- :parameters => LiveParameters
20
- }
21
- def self.app_for thing, options = {}
22
- @@mapping.each_pair do |method, adapter|
23
- return adapter.new(thing).to_app(options) if thing.respond_to?(method)
24
- end
25
- end
26
-
27
- end
28
- end
@@ -1,3 +0,0 @@
1
- Partial = Cacher::Partial
2
- Similarity = Cacher::Similarity
3
- Weights = Cacher::Weights
@@ -1,15 +0,0 @@
1
- module Cacher # :nodoc:all
2
-
3
- # A cache generator holds an index.
4
- #
5
- class Generator
6
-
7
- attr_reader :index
8
-
9
- def initialize index
10
- @index = index
11
- end
12
-
13
- end
14
-
15
- end
@@ -1,5 +0,0 @@
1
- module Cacher
2
- module Partial
3
- Default = Substring.new from: -3, to: -1
4
- end
5
- end