picky 2.5.2 → 2.6.0

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 (255) hide show
  1. data/lib/picky/adapters/rack/base.rb +23 -0
  2. data/lib/picky/adapters/rack/live_parameters.rb +33 -0
  3. data/lib/picky/adapters/rack/query.rb +65 -0
  4. data/lib/picky/adapters/rack.rb +30 -0
  5. data/lib/picky/application.rb +5 -5
  6. data/lib/picky/backend/backend.rb +108 -0
  7. data/lib/picky/backend/file/basic.rb +101 -0
  8. data/lib/picky/backend/file/json.rb +34 -0
  9. data/lib/picky/backend/file/marshal.rb +34 -0
  10. data/lib/picky/backend/file/text.rb +56 -0
  11. data/lib/picky/backend/files.rb +30 -0
  12. data/lib/picky/backend/redis/basic.rb +85 -0
  13. data/lib/picky/backend/redis/list_hash.rb +49 -0
  14. data/lib/picky/backend/redis/string_hash.rb +40 -0
  15. data/lib/picky/backend/redis.rb +40 -0
  16. data/lib/picky/calculations/location.rb +57 -0
  17. data/lib/picky/categories.rb +62 -0
  18. data/lib/picky/categories_indexed.rb +93 -0
  19. data/lib/picky/categories_indexing.rb +12 -0
  20. data/lib/picky/category.rb +127 -0
  21. data/lib/picky/category_indexed.rb +64 -0
  22. data/lib/picky/category_indexing.rb +145 -0
  23. data/lib/picky/{internals/ext → ext}/maybe_compile.rb +0 -0
  24. data/lib/picky/{internals/ext → ext}/ruby19/extconf.rb +0 -0
  25. data/lib/picky/{internals/ext → ext}/ruby19/performant.c +0 -0
  26. data/lib/picky/{internals/extensions → extensions}/array.rb +0 -0
  27. data/lib/picky/extensions/class.rb +11 -0
  28. data/lib/picky/{internals/extensions → extensions}/hash.rb +0 -0
  29. data/lib/picky/{internals/extensions → extensions}/module.rb +0 -0
  30. data/lib/picky/{internals/extensions → extensions}/object.rb +0 -0
  31. data/lib/picky/{internals/extensions → extensions}/symbol.rb +0 -0
  32. data/lib/picky/frontend_adapters/rack.rb +146 -0
  33. data/lib/picky/generators/aliases.rb +3 -3
  34. data/lib/picky/generators/base.rb +15 -0
  35. data/lib/picky/generators/partial/default.rb +5 -0
  36. data/lib/picky/generators/partial/none.rb +31 -0
  37. data/lib/picky/generators/partial/strategy.rb +25 -0
  38. data/lib/picky/generators/partial/substring.rb +118 -0
  39. data/lib/picky/generators/partial_generator.rb +15 -0
  40. data/lib/picky/generators/similarity/default.rb +7 -0
  41. data/lib/picky/generators/similarity/double_metaphone.rb +28 -0
  42. data/lib/picky/generators/similarity/metaphone.rb +28 -0
  43. data/lib/picky/generators/similarity/none.rb +31 -0
  44. data/lib/picky/generators/similarity/phonetic.rb +65 -0
  45. data/lib/picky/generators/similarity/soundex.rb +28 -0
  46. data/lib/picky/generators/similarity/strategy.rb +9 -0
  47. data/lib/picky/generators/similarity_generator.rb +15 -0
  48. data/lib/picky/generators/strategy.rb +14 -0
  49. data/lib/picky/generators/weights/default.rb +7 -0
  50. data/lib/picky/generators/weights/logarithmic.rb +39 -0
  51. data/lib/picky/generators/weights/strategy.rb +9 -0
  52. data/lib/picky/generators/weights_generator.rb +15 -0
  53. data/lib/picky/{internals/helpers → helpers}/measuring.rb +0 -0
  54. data/lib/picky/index/base.rb +119 -104
  55. data/lib/picky/index/base_indexed.rb +27 -0
  56. data/lib/picky/index/base_indexing.rb +119 -0
  57. data/lib/picky/index/memory.rb +6 -18
  58. data/lib/picky/index/redis.rb +6 -18
  59. data/lib/picky/indexed/bundle/base.rb +110 -0
  60. data/lib/picky/indexed/bundle/memory.rb +91 -0
  61. data/lib/picky/indexed/bundle/redis.rb +45 -0
  62. data/lib/picky/indexed/wrappers/bundle/calculation.rb +35 -0
  63. data/lib/picky/indexed/wrappers/bundle/location.rb +42 -0
  64. data/lib/picky/indexed/wrappers/bundle/wrapper.rb +43 -0
  65. data/lib/picky/indexed/wrappers/category/location.rb +25 -0
  66. data/lib/picky/indexed/wrappers/exact_first.rb +55 -0
  67. data/lib/picky/{internals/indexers → indexers}/base.rb +0 -0
  68. data/lib/picky/{internals/indexers → indexers}/parallel.rb +0 -0
  69. data/lib/picky/{internals/indexers → indexers}/serial.rb +0 -0
  70. data/lib/picky/{internals/indexers → indexers}/solr.rb +0 -0
  71. data/lib/picky/indexes.rb +73 -0
  72. data/lib/picky/indexes_indexed.rb +29 -0
  73. data/lib/picky/indexes_indexing.rb +49 -0
  74. data/lib/picky/indexing/bundle/base.rb +212 -0
  75. data/lib/picky/indexing/bundle/memory.rb +25 -0
  76. data/lib/picky/indexing/bundle/redis.rb +24 -0
  77. data/lib/picky/indexing/bundle/super_base.rb +61 -0
  78. data/lib/picky/indexing/wrappers/category/location.rb +25 -0
  79. data/lib/picky/interfaces/live_parameters.rb +8 -8
  80. data/lib/picky/loader.rb +89 -95
  81. data/lib/picky/{internals/performant.rb → performant.rb} +0 -0
  82. data/lib/picky/query/allocation.rb +84 -0
  83. data/lib/picky/query/allocations.rb +114 -0
  84. data/lib/picky/query/combination.rb +76 -0
  85. data/lib/picky/query/combinations/base.rb +70 -0
  86. data/lib/picky/query/combinations/memory.rb +48 -0
  87. data/lib/picky/query/combinations/redis.rb +86 -0
  88. data/lib/picky/query/indexes.rb +195 -0
  89. data/lib/picky/query/qualifiers.rb +76 -0
  90. data/lib/picky/query/token.rb +198 -0
  91. data/lib/picky/query/tokens.rb +103 -0
  92. data/lib/picky/{internals/query → query}/weights.rb +0 -0
  93. data/lib/picky/results.rb +1 -1
  94. data/lib/picky/search.rb +6 -6
  95. data/lib/picky/{internals/solr → solr}/schema_generator.rb +0 -0
  96. data/lib/picky/sources/db.rb +7 -7
  97. data/lib/picky/sources/wrappers/location.rb +2 -2
  98. data/lib/picky/tokenizers/base.rb +224 -0
  99. data/lib/picky/tokenizers/index.rb +30 -0
  100. data/lib/picky/tokenizers/location.rb +49 -0
  101. data/lib/picky/tokenizers/query.rb +55 -0
  102. data/lib/tasks/index.rake +4 -3
  103. data/lib/tasks/try.rake +2 -2
  104. data/spec/lib/{internals/adapters → adapters}/rack/base_spec.rb +1 -1
  105. data/spec/lib/{internals/adapters → adapters}/rack/live_parameters_spec.rb +1 -1
  106. data/spec/lib/{internals/adapters → adapters}/rack/query_spec.rb +1 -1
  107. data/spec/lib/application_spec.rb +3 -3
  108. data/spec/lib/{internals/index → backend}/file/basic_spec.rb +1 -1
  109. data/spec/lib/{internals/index → backend}/file/json_spec.rb +1 -1
  110. data/spec/lib/{internals/index → backend}/file/marshal_spec.rb +1 -1
  111. data/spec/lib/{internals/index → backend}/file/text_spec.rb +1 -1
  112. data/spec/lib/{internals/index → backend}/files_spec.rb +3 -3
  113. data/spec/lib/{internals/index → backend}/redis/basic_spec.rb +1 -1
  114. data/spec/lib/{internals/index → backend}/redis/list_hash_spec.rb +1 -1
  115. data/spec/lib/{internals/index → backend}/redis/string_hash_spec.rb +1 -1
  116. data/spec/lib/{internals/index → backend}/redis_spec.rb +11 -5
  117. data/spec/lib/{internals/calculations → calculations}/location_spec.rb +1 -1
  118. data/spec/lib/{internals/indexed/categories_spec.rb → categories_indexed_spec.rb} +10 -10
  119. data/spec/lib/{internals/indexed/category_spec.rb → category_indexed_spec.rb} +12 -12
  120. data/spec/lib/{internals/indexing/category_spec.rb → category_indexing_spec.rb} +10 -10
  121. data/spec/lib/{internals/cores_spec.rb → cores_spec.rb} +0 -0
  122. data/spec/lib/{internals/extensions → extensions}/array_spec.rb +0 -0
  123. data/spec/lib/{internals/extensions → extensions}/hash_spec.rb +0 -0
  124. data/spec/lib/{internals/extensions → extensions}/module_spec.rb +0 -0
  125. data/spec/lib/{internals/extensions → extensions}/object_spec.rb +0 -0
  126. data/spec/lib/{internals/extensions → extensions}/symbol_spec.rb +0 -0
  127. data/spec/lib/{internals/frontend_adapters → frontend_adapters}/rack_spec.rb +10 -10
  128. data/spec/lib/generators/aliases_spec.rb +3 -3
  129. data/spec/lib/{internals/generators → generators}/cacher_strategy_spec.rb +1 -1
  130. data/spec/lib/{internals/generators → generators}/partial/default_spec.rb +3 -3
  131. data/spec/lib/{internals/generators → generators}/partial/none_spec.rb +2 -2
  132. data/spec/lib/{internals/generators → generators}/partial/substring_spec.rb +1 -1
  133. data/spec/lib/{internals/generators → generators}/partial_generator_spec.rb +3 -3
  134. data/spec/lib/{internals/generators → generators}/similarity/double_metaphone_spec.rb +1 -1
  135. data/spec/lib/{internals/generators → generators}/similarity/metaphone_spec.rb +1 -1
  136. data/spec/lib/{internals/generators → generators}/similarity/none_spec.rb +1 -1
  137. data/spec/lib/{internals/generators → generators}/similarity/phonetic_spec.rb +1 -1
  138. data/spec/lib/{internals/generators → generators}/similarity/soundex_spec.rb +1 -1
  139. data/spec/lib/{internals/generators → generators}/similarity_generator_spec.rb +2 -2
  140. data/spec/lib/{internals/generators → generators}/weights/logarithmic_spec.rb +1 -1
  141. data/spec/lib/{internals/generators → generators}/weights_generator_spec.rb +5 -5
  142. data/spec/lib/{internals/helpers → helpers}/measuring_spec.rb +0 -0
  143. data/spec/lib/{internals/indexed/index_spec.rb → index/base_indexed_spec.rb} +5 -5
  144. data/spec/lib/{internals/indexing/index_spec.rb → index/base_indexing_spec.rb} +6 -19
  145. data/spec/lib/index/base_spec.rb +10 -53
  146. data/spec/lib/{internals/indexed → indexed}/bundle/memory_spec.rb +5 -5
  147. data/spec/lib/{internals/indexed → indexed}/bundle/redis_spec.rb +4 -4
  148. data/spec/lib/{internals/indexed → indexed}/wrappers/bundle/calculation_spec.rb +1 -1
  149. data/spec/lib/{internals/indexed → indexed}/wrappers/bundle/wrapper_spec.rb +1 -1
  150. data/spec/lib/{internals/indexed → indexed}/wrappers/exact_first_spec.rb +7 -7
  151. data/spec/lib/{internals/indexers → indexers}/base_spec.rb +0 -0
  152. data/spec/lib/{internals/indexers → indexers}/parallel_spec.rb +0 -0
  153. data/spec/lib/{internals/indexers → indexers}/serial_spec.rb +0 -0
  154. data/spec/lib/indexes_class_spec.rb +30 -0
  155. data/spec/lib/{indexed/indexes_spec.rb → indexes_indexed_spec.rb} +1 -1
  156. data/spec/lib/{indexing/indexes_spec.rb → indexes_indexing_spec.rb} +8 -8
  157. data/spec/lib/{internals/indexing/indexes_spec.rb → indexes_spec.rb} +15 -12
  158. data/spec/lib/{internals/indexing → indexing}/bundle/memory_partial_generation_speed_spec.rb +4 -4
  159. data/spec/lib/{internals/indexing → indexing}/bundle/memory_spec.rb +3 -3
  160. data/spec/lib/{internals/indexing → indexing}/bundle/redis_spec.rb +3 -3
  161. data/spec/lib/{internals/indexing → indexing}/bundle/super_base_spec.rb +2 -2
  162. data/spec/lib/{internals/interfaces → interfaces}/live_parameters_spec.rb +0 -0
  163. data/spec/lib/query/allocation_spec.rb +1 -1
  164. data/spec/lib/query/allocations_spec.rb +1 -1
  165. data/spec/lib/query/combination_spec.rb +5 -5
  166. data/spec/lib/query/combinations/base_spec.rb +1 -1
  167. data/spec/lib/query/combinations/memory_spec.rb +1 -1
  168. data/spec/lib/query/combinations/redis_spec.rb +1 -1
  169. data/spec/lib/query/indexes_spec.rb +1 -1
  170. data/spec/lib/query/qualifiers_spec.rb +4 -4
  171. data/spec/lib/query/token_spec.rb +3 -3
  172. data/spec/lib/query/tokens_spec.rb +32 -32
  173. data/spec/lib/search_spec.rb +5 -5
  174. data/spec/lib/{internals/solr → solr}/schema_generator_spec.rb +0 -0
  175. data/spec/lib/sources/db_spec.rb +4 -8
  176. data/spec/lib/sources/wrappers/location_spec.rb +1 -1
  177. data/spec/lib/{internals/tokenizers → tokenizers}/base_spec.rb +1 -1
  178. data/spec/lib/{internals/tokenizers → tokenizers}/index_spec.rb +1 -1
  179. data/spec/lib/{internals/tokenizers → tokenizers}/query_spec.rb +1 -1
  180. metadata +214 -215
  181. data/lib/picky/aliases.rb +0 -4
  182. data/lib/picky/index_bundle.rb +0 -48
  183. data/lib/picky/indexed/indexes.rb +0 -59
  184. data/lib/picky/indexing/indexes.rb +0 -87
  185. data/lib/picky/internals/adapters/rack/base.rb +0 -27
  186. data/lib/picky/internals/adapters/rack/live_parameters.rb +0 -37
  187. data/lib/picky/internals/adapters/rack/query.rb +0 -69
  188. data/lib/picky/internals/adapters/rack.rb +0 -34
  189. data/lib/picky/internals/calculations/location.rb +0 -59
  190. data/lib/picky/internals/frontend_adapters/rack.rb +0 -150
  191. data/lib/picky/internals/generators/base.rb +0 -19
  192. data/lib/picky/internals/generators/partial/default.rb +0 -7
  193. data/lib/picky/internals/generators/partial/none.rb +0 -35
  194. data/lib/picky/internals/generators/partial/strategy.rb +0 -29
  195. data/lib/picky/internals/generators/partial/substring.rb +0 -122
  196. data/lib/picky/internals/generators/partial_generator.rb +0 -19
  197. data/lib/picky/internals/generators/similarity/default.rb +0 -9
  198. data/lib/picky/internals/generators/similarity/double_metaphone.rb +0 -32
  199. data/lib/picky/internals/generators/similarity/metaphone.rb +0 -32
  200. data/lib/picky/internals/generators/similarity/none.rb +0 -35
  201. data/lib/picky/internals/generators/similarity/phonetic.rb +0 -69
  202. data/lib/picky/internals/generators/similarity/soundex.rb +0 -32
  203. data/lib/picky/internals/generators/similarity/strategy.rb +0 -11
  204. data/lib/picky/internals/generators/similarity_generator.rb +0 -19
  205. data/lib/picky/internals/generators/strategy.rb +0 -18
  206. data/lib/picky/internals/generators/weights/default.rb +0 -9
  207. data/lib/picky/internals/generators/weights/logarithmic.rb +0 -43
  208. data/lib/picky/internals/generators/weights/strategy.rb +0 -11
  209. data/lib/picky/internals/generators/weights_generator.rb +0 -19
  210. data/lib/picky/internals/index/backend.rb +0 -112
  211. data/lib/picky/internals/index/file/basic.rb +0 -105
  212. data/lib/picky/internals/index/file/json.rb +0 -38
  213. data/lib/picky/internals/index/file/marshal.rb +0 -38
  214. data/lib/picky/internals/index/file/text.rb +0 -60
  215. data/lib/picky/internals/index/files.rb +0 -34
  216. data/lib/picky/internals/index/redis/basic.rb +0 -89
  217. data/lib/picky/internals/index/redis/list_hash.rb +0 -53
  218. data/lib/picky/internals/index/redis/string_hash.rb +0 -44
  219. data/lib/picky/internals/index/redis.rb +0 -44
  220. data/lib/picky/internals/indexed/bundle/base.rb +0 -114
  221. data/lib/picky/internals/indexed/bundle/memory.rb +0 -95
  222. data/lib/picky/internals/indexed/bundle/redis.rb +0 -49
  223. data/lib/picky/internals/indexed/categories.rb +0 -140
  224. data/lib/picky/internals/indexed/category.rb +0 -111
  225. data/lib/picky/internals/indexed/index.rb +0 -63
  226. data/lib/picky/internals/indexed/wrappers/bundle/calculation.rb +0 -37
  227. data/lib/picky/internals/indexed/wrappers/bundle/location.rb +0 -44
  228. data/lib/picky/internals/indexed/wrappers/bundle/wrapper.rb +0 -45
  229. data/lib/picky/internals/indexed/wrappers/category/location.rb +0 -27
  230. data/lib/picky/internals/indexed/wrappers/exact_first.rb +0 -59
  231. data/lib/picky/internals/indexing/bundle/base.rb +0 -216
  232. data/lib/picky/internals/indexing/bundle/memory.rb +0 -29
  233. data/lib/picky/internals/indexing/bundle/redis.rb +0 -28
  234. data/lib/picky/internals/indexing/bundle/super_base.rb +0 -65
  235. data/lib/picky/internals/indexing/category.rb +0 -153
  236. data/lib/picky/internals/indexing/index.rb +0 -142
  237. data/lib/picky/internals/indexing/wrappers/category/location.rb +0 -27
  238. data/lib/picky/internals/query/allocation.rb +0 -88
  239. data/lib/picky/internals/query/allocations.rb +0 -118
  240. data/lib/picky/internals/query/combination.rb +0 -80
  241. data/lib/picky/internals/query/combinations/base.rb +0 -74
  242. data/lib/picky/internals/query/combinations/memory.rb +0 -52
  243. data/lib/picky/internals/query/combinations/redis.rb +0 -90
  244. data/lib/picky/internals/query/indexes.rb +0 -199
  245. data/lib/picky/internals/query/qualifiers.rb +0 -82
  246. data/lib/picky/internals/query/token.rb +0 -202
  247. data/lib/picky/internals/query/tokens.rb +0 -109
  248. data/lib/picky/internals/shared/category.rb +0 -52
  249. data/lib/picky/internals/tokenizers/base.rb +0 -228
  250. data/lib/picky/internals/tokenizers/index.rb +0 -34
  251. data/lib/picky/internals/tokenizers/location.rb +0 -54
  252. data/lib/picky/internals/tokenizers/query.rb +0 -59
  253. data/lib/picky/internals.rb +0 -2
  254. data/spec/lib/aliases_spec.rb +0 -9
  255. data/spec/lib/index_bundle_spec.rb +0 -69
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::File::Marshal do
3
+ describe Backend::File::Marshal do
4
4
 
5
5
  before(:each) do
6
6
  @file = described_class.new "some_cache_path"
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::File::Text do
3
+ describe Backend::File::Text do
4
4
 
5
5
  before(:each) do
6
6
  @file = described_class.new "some_cache_path"
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::Files do
3
+ describe Backend::Files do
4
4
 
5
5
  before(:each) do
6
- index = stub :index, :name => :some_index, :bundle_class => nil
7
- category = Internals::Indexing::Category.new :some_category, index
6
+ index = Index::Memory.new :some_index, source: []
7
+ category = Category.new :some_category, index
8
8
 
9
9
  @files = described_class.new :some_name, category
10
10
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::Redis::Basic do
3
+ describe Backend::Redis::Basic do
4
4
 
5
5
  let(:redis) { described_class.new "some_namespace" }
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::Redis::ListHash do
3
+ describe Backend::Redis::ListHash do
4
4
 
5
5
  let(:index) { described_class.new :some_namespace }
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::Redis::StringHash do
3
+ describe Backend::Redis::StringHash do
4
4
 
5
5
  let(:index) { described_class.new :some_namespace }
6
6
 
@@ -1,11 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Index::Redis do
3
+ describe Backend::Redis do
4
4
 
5
5
  context 'indexing' do
6
6
  let(:category) do
7
- index = stub :index, :name => :some_index, :bundle_class => nil
8
- category = Internals::Indexing::Category.new :some_category, index
7
+ index = stub :index,
8
+ :name => :some_index,
9
+ :indexing_bundle_class => Indexing::Bundle::Memory,
10
+ :indexed_bundle_class => Indexed::Bundle::Memory
11
+ category = Category.new :some_category, index
9
12
  end
10
13
  let(:redis) { described_class.new :some_name, category }
11
14
 
@@ -75,8 +78,11 @@ describe Internals::Index::Redis do
75
78
 
76
79
  context 'indexed' do
77
80
  let(:category) do
78
- index = stub :index, :name => :some_index
79
- category = Internals::Indexed::Category.new :some_category, index
81
+ index = stub :index,
82
+ :name => :some_index,
83
+ :indexing_bundle_class => Indexing::Bundle::Memory,
84
+ :indexed_bundle_class => Indexed::Bundle::Memory
85
+ category = Category.new :some_category, index
80
86
  end
81
87
  let(:redis) { described_class.new :some_name, category }
82
88
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Calculations::Location do
3
+ describe Calculations::Location do
4
4
 
5
5
  context 'with precision 1' do
6
6
  before(:each) do
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Indexed::Categories do
3
+ describe Categories do
4
4
  context 'with option ignore_unassigned_tokens' do
5
5
  context 'ignore_unassigned_tokens true' do
6
6
  before(:each) do
@@ -22,16 +22,16 @@ describe Internals::Indexed::Categories do
22
22
 
23
23
  context "with real categories" do
24
24
  before(:each) do
25
- @index1 = stub :index1, :name => :some_index
25
+ @index1 = Index::Memory.new :name, source: []
26
26
 
27
27
  @categories = described_class.new
28
- @categories << Internals::Indexed::Category.new(:category1, @index1)
29
- @categories << Internals::Indexed::Category.new(:category2, @index1)
30
- @categories << Internals::Indexed::Category.new(:category3, @index1)
28
+ @categories << Category.new(:category1, @index1)
29
+ @categories << Category.new(:category2, @index1)
30
+ @categories << Category.new(:category3, @index1)
31
31
  end
32
32
  describe "similar_possible_for" do
33
33
  before(:each) do
34
- @token = Internals::Query::Token.processed 'similar~'
34
+ @token = Query::Token.processed 'similar~'
35
35
  end
36
36
  it "returns possible categories" do
37
37
  @categories.similar_possible_for(@token).should == []
@@ -65,11 +65,11 @@ describe Internals::Indexed::Categories do
65
65
 
66
66
  context 'without options' do
67
67
  before(:each) do
68
- @index1 = stub :index1, :name => :some_index
68
+ @index1 = Index::Memory.new :some_index, source: []
69
69
 
70
- @category1 = Internals::Indexed::Category.new :category1, @index1
71
- @category2 = Internals::Indexed::Category.new :category2, @index1
72
- @category3 = Internals::Indexed::Category.new :category3, @index1
70
+ @category1 = Category.new :category1, @index1
71
+ @category2 = Category.new :category2, @index1
72
+ @category3 = Category.new :category3, @index1
73
73
 
74
74
  @categories = described_class.new
75
75
  @categories << @category1
@@ -1,9 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Indexed::Category do
3
+ describe Category do
4
4
 
5
5
  before(:each) do
6
- @index = stub :index, :name => :some_index
6
+ @index = Index::Base.new :some_index, source: []
7
7
  @partial_strategy = stub :partial, :use_exact_for_partial? => false
8
8
  @weights_strategy = stub :weights
9
9
  @similarity_strategy = stub :similarity
@@ -29,30 +29,30 @@ describe Internals::Indexed::Category do
29
29
  @partial_strategy.stub! :use_exact_for_partial? => true
30
30
  end
31
31
  it 'returns the partial index' do
32
- @category.partial.should be_kind_of(Internals::Indexed::Bundle::Memory)
32
+ @category.indexed_partial.should be_kind_of(Indexed::Bundle::Memory)
33
33
  end
34
34
  end
35
35
  context 'with a partial strategy that uses the partial index (default)' do
36
36
  it 'returns the partial index' do
37
- @category.partial.should be_kind_of(Internals::Indexed::Bundle::Memory)
37
+ @category.indexed_partial.should be_kind_of(Indexed::Bundle::Memory)
38
38
  end
39
39
  end
40
40
  end
41
- context 'indexed_bundle_class defined' do
41
+ context 'indexed_bundle_class defined differently' do
42
42
  before(:each) do
43
- @category = described_class.new :some_name, @index, :indexed_bundle_class => Internals::Indexed::Bundle::Redis
43
+ @category = described_class.new :some_name, Index::Redis.new(:some_index_name, source: [])
44
44
  end
45
45
  context 'with a partial strategy that uses the exact index' do
46
46
  before(:each) do
47
47
  @partial_strategy.stub! :use_exact_for_partial? => true
48
48
  end
49
49
  it 'returns the partial index' do
50
- @category.partial.should be_kind_of(Internals::Indexed::Bundle::Redis)
50
+ @category.indexed_partial.should be_kind_of(Indexed::Bundle::Redis)
51
51
  end
52
52
  end
53
53
  context 'with a partial strategy that uses the partial index (default)' do
54
54
  it 'returns the partial index' do
55
- @category.partial.should be_kind_of(Internals::Indexed::Bundle::Redis)
55
+ @category.indexed_partial.should be_kind_of(Indexed::Bundle::Redis)
56
56
  end
57
57
  end
58
58
  end
@@ -143,10 +143,10 @@ describe Internals::Indexed::Category do
143
143
  @category.stub! :weight => :some_weight, :bundle_for => :bundle
144
144
  end
145
145
  it 'should return a new combination' do
146
- @category.combination_for(@token).should be_kind_of(Internals::Query::Combination)
146
+ @category.combination_for(@token).should be_kind_of(Query::Combination)
147
147
  end
148
148
  it 'should create the combination correctly' do
149
- Internals::Query::Combination.should_receive(:new).once.with @token, @category
149
+ Query::Combination.should_receive(:new).once.with @token, @category
150
150
 
151
151
  @category.combination_for @token
152
152
  end
@@ -155,8 +155,8 @@ describe Internals::Indexed::Category do
155
155
 
156
156
  context 'stubbed exact/partial' do
157
157
  before(:each) do
158
- @category.stub! :exact => (@exact = stub :exact)
159
- @category.stub! :partial => (@partial = stub :partial)
158
+ @category.stub! :indexed_exact => (@exact = stub :exact)
159
+ @category.stub! :indexed_partial => (@partial = stub :partial)
160
160
  end
161
161
  describe 'bundle_for' do
162
162
  it 'should return the right bundle' do
@@ -1,16 +1,16 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Indexing::Category do
3
+ describe Category do
4
4
 
5
5
  before(:each) do
6
- @index = stub :index, :name => :some_index, :bundle_class => nil
6
+ @index = Index::Memory.new :some_index, source: []
7
7
  @source = stub :some_given_source, :key_format => nil
8
8
  end
9
9
  let(:category) { described_class.new(:some_category, @index, :source => @source).tap { |c| c.stub! :timed_exclaim } }
10
10
 
11
11
  context "unit specs" do
12
- let(:exact) { category.exact }
13
- let(:partial) { category.partial }
12
+ let(:exact) { category.indexing_exact }
13
+ let(:partial) { category.indexing_partial }
14
14
 
15
15
  describe 'backup_caches' do
16
16
  it 'delegates to both bundles' do
@@ -134,7 +134,7 @@ describe Internals::Indexing::Category do
134
134
  end
135
135
  context 'it has an index' do
136
136
  before(:each) do
137
- category.stub! :index => stub(:index, :key_format => :yet_another_key_format)
137
+ category.instance_variable_set :@index, stub(:index, :key_format => :yet_another_key_format)
138
138
  end
139
139
  it 'returns that key_format' do
140
140
  category.key_format.should == :yet_another_key_format
@@ -159,7 +159,7 @@ describe Internals::Indexing::Category do
159
159
  end
160
160
  end
161
161
 
162
- describe "cache!" do
162
+ describe "cache" do
163
163
  before(:each) do
164
164
  category.stub! :generate_caches
165
165
  category.stub! :configure
@@ -167,12 +167,12 @@ describe Internals::Indexing::Category do
167
167
  it "prepares the cache directory" do
168
168
  category.should_receive(:prepare_index_directory).once.with
169
169
 
170
- category.cache!
170
+ category.cache
171
171
  end
172
172
  it "tells the indexer to index" do
173
173
  category.should_receive(:generate_caches).once.with
174
174
 
175
- category.cache!
175
+ category.cache
176
176
  end
177
177
  end
178
178
  describe "index" do
@@ -183,12 +183,12 @@ describe Internals::Indexing::Category do
183
183
  it "prepares the cache directory" do
184
184
  category.should_receive(:prepare_index_directory).once.with
185
185
 
186
- category.index!
186
+ category.prepare
187
187
  end
188
188
  it "tells the indexer to index" do
189
189
  @indexer.should_receive(:index).once.with
190
190
 
191
- category.index!
191
+ category.prepare
192
192
  end
193
193
  end
194
194
  describe "source" do
File without changes
@@ -2,7 +2,7 @@
2
2
  #
3
3
  require 'spec_helper'
4
4
 
5
- describe Internals::FrontendAdapters::Rack do
5
+ describe FrontendAdapters::Rack do
6
6
 
7
7
  before(:each) do
8
8
  @rack_adapter = described_class.new
@@ -188,7 +188,7 @@ describe Internals::FrontendAdapters::Rack do
188
188
  @rack_adapter.route %r{regexp1} => :query1, %r{regexp2} => :query2, :some => :option
189
189
  end
190
190
  it 'does not accept nil queries' do
191
- lambda { @rack_adapter.route %r{some/regexp} => nil }.should raise_error(Internals::FrontendAdapters::Rack::RouteTargetNilError, /Routing for \/some\\\/regexp\/ was defined with a nil target object, i.e. \/some\\\/regexp\/ => nil./)
191
+ lambda { @rack_adapter.route %r{some/regexp} => nil }.should raise_error(FrontendAdapters::Rack::RouteTargetNilError, /Routing for \/some\\\/regexp\/ was defined with a nil target object, i.e. \/some\\\/regexp\/ => nil./)
192
192
  end
193
193
  end
194
194
 
@@ -202,7 +202,7 @@ describe Internals::FrontendAdapters::Rack do
202
202
 
203
203
  describe 'route_one' do
204
204
  before(:each) do
205
- Internals::Adapters::Rack.stub! :app_for => :some_query_app
205
+ Adapters::Rack.stub! :app_for => :some_query_app
206
206
  end
207
207
  it 'should add the right route' do
208
208
  @routes.should_receive(:add_route).once.with :some_query_app, { :request_method => "GET", :path_info => /some_url/ }, {}, "some_query"
@@ -223,7 +223,7 @@ describe Internals::FrontendAdapters::Rack do
223
223
 
224
224
  describe 'default' do
225
225
  it 'should call answer' do
226
- @rack_adapter.should_receive(:answer).once.with nil, Internals::FrontendAdapters::Rack::STATUSES[200]
226
+ @rack_adapter.should_receive(:answer).once.with nil, FrontendAdapters::Rack::STATUSES[200]
227
227
 
228
228
  @rack_adapter.default 200
229
229
  end
@@ -231,21 +231,21 @@ describe Internals::FrontendAdapters::Rack do
231
231
 
232
232
  describe 'STATUSES' do
233
233
  it 'is a lambda' do
234
- Internals::FrontendAdapters::Rack::STATUSES[200].respond_to?(:call).should == true
234
+ FrontendAdapters::Rack::STATUSES[200].respond_to?(:call).should == true
235
235
  end
236
236
  it 'is a lambda' do
237
- Internals::FrontendAdapters::Rack::STATUSES[404].respond_to?(:call).should == true
237
+ FrontendAdapters::Rack::STATUSES[404].respond_to?(:call).should == true
238
238
  end
239
239
  end
240
240
 
241
241
  describe 'root' do
242
242
  it 'should call answer' do
243
- @rack_adapter.should_receive(:answer).once.with %r{^/$}, Internals::FrontendAdapters::Rack::STATUSES[200]
243
+ @rack_adapter.should_receive(:answer).once.with %r{^/$}, FrontendAdapters::Rack::STATUSES[200]
244
244
 
245
245
  @rack_adapter.root 200
246
246
  end
247
247
  it 'should call answer' do
248
- @rack_adapter.should_receive(:answer).once.with %r{^/$}, Internals::FrontendAdapters::Rack::STATUSES[404]
248
+ @rack_adapter.should_receive(:answer).once.with %r{^/$}, FrontendAdapters::Rack::STATUSES[404]
249
249
 
250
250
  @rack_adapter.root 404
251
251
  end
@@ -274,14 +274,14 @@ describe Internals::FrontendAdapters::Rack do
274
274
  context 'without app' do
275
275
  context 'with url' do
276
276
  it 'should use the 200 with default_options from the url' do
277
- @routes.should_receive(:add_route).once.with Internals::FrontendAdapters::Rack::STATUSES[200], { :request_method => "GET", :path_info => /some_url/ }
277
+ @routes.should_receive(:add_route).once.with FrontendAdapters::Rack::STATUSES[200], { :request_method => "GET", :path_info => /some_url/ }
278
278
 
279
279
  @rack_adapter.answer 'some_url'
280
280
  end
281
281
  end
282
282
  context 'without url' do
283
283
  it 'should use the 200 with default_options' do
284
- @routes.should_receive(:add_route).once.with Internals::FrontendAdapters::Rack::STATUSES[200], { :request_method => "GET" }
284
+ @routes.should_receive(:add_route).once.with FrontendAdapters::Rack::STATUSES[200], { :request_method => "GET" }
285
285
 
286
286
  @rack_adapter.answer
287
287
  end
@@ -3,13 +3,13 @@ require 'spec_helper'
3
3
  describe 'aliases' do
4
4
 
5
5
  it 'aliases correctly' do
6
- Partial.should == Internals::Generators::Partial
6
+ Partial.should == Generators::Partial
7
7
  end
8
8
  it 'aliases correctly' do
9
- Similarity.should == Internals::Generators::Similarity
9
+ Similarity.should == Generators::Similarity
10
10
  end
11
11
  it 'aliases correctly' do
12
- Weights.should == Internals::Generators::Weights
12
+ Weights.should == Generators::Weights
13
13
  end
14
14
 
15
15
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::Strategy do
3
+ describe Generators::Strategy do
4
4
 
5
5
  describe "saved?" do
6
6
  it "returns the right answer" do
@@ -1,11 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::Partial::Default do
3
+ describe Generators::Partial::Default do
4
4
 
5
- let(:default) { Internals::Generators::Partial::Default }
5
+ let(:default) { Generators::Partial::Default }
6
6
 
7
7
  it "should be a subtoken" do
8
- default.should be_kind_of(Internals::Generators::Partial::Substring)
8
+ default.should be_kind_of(Generators::Partial::Substring)
9
9
  end
10
10
  it "should be a the right down to" do
11
11
  default.from.should == -3
@@ -1,12 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::Partial::None do
3
+ describe Generators::Partial::None do
4
4
 
5
5
  it 'is not saved' do
6
6
  described_class.new.saved?.should == false
7
7
  end
8
8
  it "has the right superclass" do
9
- described_class.should < Internals::Generators::Partial::Strategy
9
+ described_class.should < Generators::Partial::Strategy
10
10
  end
11
11
  it "returns an empty index" do
12
12
  described_class.new.generate_from(:unimportant).should == {}
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::Partial::Substring do
3
+ describe Generators::Partial::Substring do
4
4
 
5
5
  context 'default from' do
6
6
  let(:generator) { described_class.new }
@@ -1,12 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::PartialGenerator do
3
+ describe Generators::PartialGenerator do
4
4
 
5
5
  context 'integration' do
6
6
  it 'should generate the correct values with a given strategy' do
7
7
  generator = described_class.new :meier => [1], :maier => [2]
8
8
 
9
- generator.generate(Internals::Generators::Partial::Substring.new).should == {
9
+ generator.generate(Generators::Partial::Substring.new).should == {
10
10
  :meier => [1],
11
11
  :meie => [1],
12
12
  :mei => [1],
@@ -21,7 +21,7 @@ describe Internals::Generators::PartialGenerator do
21
21
  it 'should generate the correct values with a given specific strategy' do
22
22
  generator = described_class.new :meier => [1], :maier => [2]
23
23
 
24
- generator.generate(Internals::Generators::Partial::Substring.new(:from => 3)).should == {
24
+ generator.generate(Generators::Partial::Substring.new(:from => 3)).should == {
25
25
  :meier => [1],
26
26
  :meie => [1],
27
27
  :mei => [1],
@@ -2,7 +2,7 @@
2
2
  #
3
3
  require 'spec_helper'
4
4
 
5
- describe Internals::Generators::Similarity::DoubleMetaphone do
5
+ describe Generators::Similarity::DoubleMetaphone do
6
6
 
7
7
  before(:each) do
8
8
  @similarity = described_class.new
@@ -2,7 +2,7 @@
2
2
  #
3
3
  require 'spec_helper'
4
4
 
5
- describe Internals::Generators::Similarity::Metaphone do
5
+ describe Generators::Similarity::Metaphone do
6
6
 
7
7
  before(:each) do
8
8
  @similarity = described_class.new
@@ -2,7 +2,7 @@
2
2
  #
3
3
  require 'spec_helper'
4
4
 
5
- describe Internals::Generators::Similarity::None do
5
+ describe Generators::Similarity::None do
6
6
 
7
7
  before(:each) do
8
8
  @similarity = described_class.new
@@ -2,7 +2,7 @@
2
2
  #
3
3
  require 'spec_helper'
4
4
 
5
- describe Internals::Generators::Similarity::Phonetic do
5
+ describe Generators::Similarity::Phonetic do
6
6
 
7
7
  it 'raises if you try to use Phonetic directly' do
8
8
  expect {
@@ -2,7 +2,7 @@
2
2
  #
3
3
  require 'spec_helper'
4
4
 
5
- describe Internals::Generators::Similarity::Soundex do
5
+ describe Generators::Similarity::Soundex do
6
6
 
7
7
  before(:each) do
8
8
  @similarity = described_class.new
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::SimilarityGenerator do
3
+ describe Generators::SimilarityGenerator do
4
4
 
5
5
  context 'integration' do
6
6
  it 'should generate the correct values' do
@@ -15,7 +15,7 @@ describe Internals::Generators::SimilarityGenerator do
15
15
  :meyer => nil,
16
16
  :peter => nil
17
17
 
18
- generator.generate(Internals::Generators::Similarity::DoubleMetaphone.new).should == { :MR => [:meier, :maier, :mayer, :meyer], :PTR => [:peter] }
18
+ generator.generate(Generators::Similarity::DoubleMetaphone.new).should == { :MR => [:meier, :maier, :mayer, :meyer], :PTR => [:peter] }
19
19
  end
20
20
  end
21
21
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::Weights::Logarithmic do
3
+ describe Generators::Weights::Logarithmic do
4
4
 
5
5
  before(:each) do
6
6
  @cacher = described_class.new
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Generators::WeightsGenerator do
3
+ describe Generators::WeightsGenerator do
4
4
 
5
5
  context 'integration' do
6
6
  it 'should generate the correct values' do
7
7
  generator = described_class.new :a => Array.new(0),
8
- :b => Array.new(1),
9
- :c => Array.new(10),
10
- :d => Array.new(100),
11
- :e => Array.new(1000)
8
+ :b => Array.new(1),
9
+ :c => Array.new(10),
10
+ :d => Array.new(100),
11
+ :e => Array.new(1000)
12
12
 
13
13
  result = generator.generate
14
14
 
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Internals::Indexed::Index do
3
+ describe Index::Base do
4
4
 
5
5
  context 'without stubbed categories' do
6
6
  before(:each) do
7
- @index = described_class.new :some_index_name
7
+ @index = described_class.new :some_index_name, source: []
8
8
  end
9
9
 
10
10
  describe 'define_category' do
@@ -14,7 +14,7 @@ describe Internals::Indexed::Index do
14
14
  @index.categories.categories.size.should == 1
15
15
  end
16
16
  it 'returns the new category' do
17
- @index.define_category(:some_category_name).should be_kind_of(Internals::Indexed::Category)
17
+ @index.define_category(:some_category_name).should be_kind_of(Category)
18
18
  end
19
19
  end
20
20
  end
@@ -23,7 +23,7 @@ describe Internals::Indexed::Index do
23
23
  before(:each) do
24
24
  @categories = stub :categories
25
25
 
26
- @index = described_class.new :some_name
26
+ @index = described_class.new :some_name, source: []
27
27
  @index.define_category :some_category_name1
28
28
  @index.define_category :some_category_name2
29
29
 
@@ -48,7 +48,7 @@ describe Internals::Indexed::Index do
48
48
 
49
49
  context "no categories" do
50
50
  it "works" do
51
- described_class.new :some_name
51
+ described_class.new :some_name, source: []
52
52
  end
53
53
  end
54
54