picky 2.5.2 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/picky/adapters/rack/base.rb +23 -0
- data/lib/picky/adapters/rack/live_parameters.rb +33 -0
- data/lib/picky/adapters/rack/query.rb +65 -0
- data/lib/picky/adapters/rack.rb +30 -0
- data/lib/picky/application.rb +5 -5
- data/lib/picky/backend/backend.rb +108 -0
- data/lib/picky/backend/file/basic.rb +101 -0
- data/lib/picky/backend/file/json.rb +34 -0
- data/lib/picky/backend/file/marshal.rb +34 -0
- data/lib/picky/backend/file/text.rb +56 -0
- data/lib/picky/backend/files.rb +30 -0
- data/lib/picky/backend/redis/basic.rb +85 -0
- data/lib/picky/backend/redis/list_hash.rb +49 -0
- data/lib/picky/backend/redis/string_hash.rb +40 -0
- data/lib/picky/backend/redis.rb +40 -0
- data/lib/picky/calculations/location.rb +57 -0
- data/lib/picky/categories.rb +62 -0
- data/lib/picky/categories_indexed.rb +93 -0
- data/lib/picky/categories_indexing.rb +12 -0
- data/lib/picky/category.rb +127 -0
- data/lib/picky/category_indexed.rb +64 -0
- data/lib/picky/category_indexing.rb +145 -0
- data/lib/picky/{internals/ext → ext}/maybe_compile.rb +0 -0
- data/lib/picky/{internals/ext → ext}/ruby19/extconf.rb +0 -0
- data/lib/picky/{internals/ext → ext}/ruby19/performant.c +0 -0
- data/lib/picky/{internals/extensions → extensions}/array.rb +0 -0
- data/lib/picky/extensions/class.rb +11 -0
- data/lib/picky/{internals/extensions → extensions}/hash.rb +0 -0
- data/lib/picky/{internals/extensions → extensions}/module.rb +0 -0
- data/lib/picky/{internals/extensions → extensions}/object.rb +0 -0
- data/lib/picky/{internals/extensions → extensions}/symbol.rb +0 -0
- data/lib/picky/frontend_adapters/rack.rb +146 -0
- data/lib/picky/generators/aliases.rb +3 -3
- data/lib/picky/generators/base.rb +15 -0
- data/lib/picky/generators/partial/default.rb +5 -0
- data/lib/picky/generators/partial/none.rb +31 -0
- data/lib/picky/generators/partial/strategy.rb +25 -0
- data/lib/picky/generators/partial/substring.rb +118 -0
- data/lib/picky/generators/partial_generator.rb +15 -0
- data/lib/picky/generators/similarity/default.rb +7 -0
- data/lib/picky/generators/similarity/double_metaphone.rb +28 -0
- data/lib/picky/generators/similarity/metaphone.rb +28 -0
- data/lib/picky/generators/similarity/none.rb +31 -0
- data/lib/picky/generators/similarity/phonetic.rb +65 -0
- data/lib/picky/generators/similarity/soundex.rb +28 -0
- data/lib/picky/generators/similarity/strategy.rb +9 -0
- data/lib/picky/generators/similarity_generator.rb +15 -0
- data/lib/picky/generators/strategy.rb +14 -0
- data/lib/picky/generators/weights/default.rb +7 -0
- data/lib/picky/generators/weights/logarithmic.rb +39 -0
- data/lib/picky/generators/weights/strategy.rb +9 -0
- data/lib/picky/generators/weights_generator.rb +15 -0
- data/lib/picky/{internals/helpers → helpers}/measuring.rb +0 -0
- data/lib/picky/index/base.rb +119 -104
- data/lib/picky/index/base_indexed.rb +27 -0
- data/lib/picky/index/base_indexing.rb +119 -0
- data/lib/picky/index/memory.rb +6 -18
- data/lib/picky/index/redis.rb +6 -18
- data/lib/picky/indexed/bundle/base.rb +110 -0
- data/lib/picky/indexed/bundle/memory.rb +91 -0
- data/lib/picky/indexed/bundle/redis.rb +45 -0
- data/lib/picky/indexed/wrappers/bundle/calculation.rb +35 -0
- data/lib/picky/indexed/wrappers/bundle/location.rb +42 -0
- data/lib/picky/indexed/wrappers/bundle/wrapper.rb +43 -0
- data/lib/picky/indexed/wrappers/category/location.rb +25 -0
- data/lib/picky/indexed/wrappers/exact_first.rb +55 -0
- data/lib/picky/{internals/indexers → indexers}/base.rb +0 -0
- data/lib/picky/{internals/indexers → indexers}/parallel.rb +0 -0
- data/lib/picky/{internals/indexers → indexers}/serial.rb +0 -0
- data/lib/picky/{internals/indexers → indexers}/solr.rb +0 -0
- data/lib/picky/indexes.rb +73 -0
- data/lib/picky/indexes_indexed.rb +29 -0
- data/lib/picky/indexes_indexing.rb +49 -0
- data/lib/picky/indexing/bundle/base.rb +212 -0
- data/lib/picky/indexing/bundle/memory.rb +25 -0
- data/lib/picky/indexing/bundle/redis.rb +24 -0
- data/lib/picky/indexing/bundle/super_base.rb +61 -0
- data/lib/picky/indexing/wrappers/category/location.rb +25 -0
- data/lib/picky/interfaces/live_parameters.rb +8 -8
- data/lib/picky/loader.rb +89 -95
- data/lib/picky/{internals/performant.rb → performant.rb} +0 -0
- data/lib/picky/query/allocation.rb +84 -0
- data/lib/picky/query/allocations.rb +114 -0
- data/lib/picky/query/combination.rb +76 -0
- data/lib/picky/query/combinations/base.rb +70 -0
- data/lib/picky/query/combinations/memory.rb +48 -0
- data/lib/picky/query/combinations/redis.rb +86 -0
- data/lib/picky/query/indexes.rb +195 -0
- data/lib/picky/query/qualifiers.rb +76 -0
- data/lib/picky/query/token.rb +198 -0
- data/lib/picky/query/tokens.rb +103 -0
- data/lib/picky/{internals/query → query}/weights.rb +0 -0
- data/lib/picky/results.rb +1 -1
- data/lib/picky/search.rb +6 -6
- data/lib/picky/{internals/solr → solr}/schema_generator.rb +0 -0
- data/lib/picky/sources/db.rb +7 -7
- data/lib/picky/sources/wrappers/location.rb +2 -2
- data/lib/picky/tokenizers/base.rb +224 -0
- data/lib/picky/tokenizers/index.rb +30 -0
- data/lib/picky/tokenizers/location.rb +49 -0
- data/lib/picky/tokenizers/query.rb +55 -0
- data/lib/tasks/index.rake +4 -3
- data/lib/tasks/try.rake +2 -2
- data/spec/lib/{internals/adapters → adapters}/rack/base_spec.rb +1 -1
- data/spec/lib/{internals/adapters → adapters}/rack/live_parameters_spec.rb +1 -1
- data/spec/lib/{internals/adapters → adapters}/rack/query_spec.rb +1 -1
- data/spec/lib/application_spec.rb +3 -3
- data/spec/lib/{internals/index → backend}/file/basic_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/file/json_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/file/marshal_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/file/text_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/files_spec.rb +3 -3
- data/spec/lib/{internals/index → backend}/redis/basic_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/redis/list_hash_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/redis/string_hash_spec.rb +1 -1
- data/spec/lib/{internals/index → backend}/redis_spec.rb +11 -5
- data/spec/lib/{internals/calculations → calculations}/location_spec.rb +1 -1
- data/spec/lib/{internals/indexed/categories_spec.rb → categories_indexed_spec.rb} +10 -10
- data/spec/lib/{internals/indexed/category_spec.rb → category_indexed_spec.rb} +12 -12
- data/spec/lib/{internals/indexing/category_spec.rb → category_indexing_spec.rb} +10 -10
- data/spec/lib/{internals/cores_spec.rb → cores_spec.rb} +0 -0
- data/spec/lib/{internals/extensions → extensions}/array_spec.rb +0 -0
- data/spec/lib/{internals/extensions → extensions}/hash_spec.rb +0 -0
- data/spec/lib/{internals/extensions → extensions}/module_spec.rb +0 -0
- data/spec/lib/{internals/extensions → extensions}/object_spec.rb +0 -0
- data/spec/lib/{internals/extensions → extensions}/symbol_spec.rb +0 -0
- data/spec/lib/{internals/frontend_adapters → frontend_adapters}/rack_spec.rb +10 -10
- data/spec/lib/generators/aliases_spec.rb +3 -3
- data/spec/lib/{internals/generators → generators}/cacher_strategy_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/partial/default_spec.rb +3 -3
- data/spec/lib/{internals/generators → generators}/partial/none_spec.rb +2 -2
- data/spec/lib/{internals/generators → generators}/partial/substring_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/partial_generator_spec.rb +3 -3
- data/spec/lib/{internals/generators → generators}/similarity/double_metaphone_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/similarity/metaphone_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/similarity/none_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/similarity/phonetic_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/similarity/soundex_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/similarity_generator_spec.rb +2 -2
- data/spec/lib/{internals/generators → generators}/weights/logarithmic_spec.rb +1 -1
- data/spec/lib/{internals/generators → generators}/weights_generator_spec.rb +5 -5
- data/spec/lib/{internals/helpers → helpers}/measuring_spec.rb +0 -0
- data/spec/lib/{internals/indexed/index_spec.rb → index/base_indexed_spec.rb} +5 -5
- data/spec/lib/{internals/indexing/index_spec.rb → index/base_indexing_spec.rb} +6 -19
- data/spec/lib/index/base_spec.rb +10 -53
- data/spec/lib/{internals/indexed → indexed}/bundle/memory_spec.rb +5 -5
- data/spec/lib/{internals/indexed → indexed}/bundle/redis_spec.rb +4 -4
- data/spec/lib/{internals/indexed → indexed}/wrappers/bundle/calculation_spec.rb +1 -1
- data/spec/lib/{internals/indexed → indexed}/wrappers/bundle/wrapper_spec.rb +1 -1
- data/spec/lib/{internals/indexed → indexed}/wrappers/exact_first_spec.rb +7 -7
- data/spec/lib/{internals/indexers → indexers}/base_spec.rb +0 -0
- data/spec/lib/{internals/indexers → indexers}/parallel_spec.rb +0 -0
- data/spec/lib/{internals/indexers → indexers}/serial_spec.rb +0 -0
- data/spec/lib/indexes_class_spec.rb +30 -0
- data/spec/lib/{indexed/indexes_spec.rb → indexes_indexed_spec.rb} +1 -1
- data/spec/lib/{indexing/indexes_spec.rb → indexes_indexing_spec.rb} +8 -8
- data/spec/lib/{internals/indexing/indexes_spec.rb → indexes_spec.rb} +15 -12
- data/spec/lib/{internals/indexing → indexing}/bundle/memory_partial_generation_speed_spec.rb +4 -4
- data/spec/lib/{internals/indexing → indexing}/bundle/memory_spec.rb +3 -3
- data/spec/lib/{internals/indexing → indexing}/bundle/redis_spec.rb +3 -3
- data/spec/lib/{internals/indexing → indexing}/bundle/super_base_spec.rb +2 -2
- data/spec/lib/{internals/interfaces → interfaces}/live_parameters_spec.rb +0 -0
- data/spec/lib/query/allocation_spec.rb +1 -1
- data/spec/lib/query/allocations_spec.rb +1 -1
- data/spec/lib/query/combination_spec.rb +5 -5
- data/spec/lib/query/combinations/base_spec.rb +1 -1
- data/spec/lib/query/combinations/memory_spec.rb +1 -1
- data/spec/lib/query/combinations/redis_spec.rb +1 -1
- data/spec/lib/query/indexes_spec.rb +1 -1
- data/spec/lib/query/qualifiers_spec.rb +4 -4
- data/spec/lib/query/token_spec.rb +3 -3
- data/spec/lib/query/tokens_spec.rb +32 -32
- data/spec/lib/search_spec.rb +5 -5
- data/spec/lib/{internals/solr → solr}/schema_generator_spec.rb +0 -0
- data/spec/lib/sources/db_spec.rb +4 -8
- data/spec/lib/sources/wrappers/location_spec.rb +1 -1
- data/spec/lib/{internals/tokenizers → tokenizers}/base_spec.rb +1 -1
- data/spec/lib/{internals/tokenizers → tokenizers}/index_spec.rb +1 -1
- data/spec/lib/{internals/tokenizers → tokenizers}/query_spec.rb +1 -1
- metadata +214 -215
- data/lib/picky/aliases.rb +0 -4
- data/lib/picky/index_bundle.rb +0 -48
- data/lib/picky/indexed/indexes.rb +0 -59
- data/lib/picky/indexing/indexes.rb +0 -87
- data/lib/picky/internals/adapters/rack/base.rb +0 -27
- data/lib/picky/internals/adapters/rack/live_parameters.rb +0 -37
- data/lib/picky/internals/adapters/rack/query.rb +0 -69
- data/lib/picky/internals/adapters/rack.rb +0 -34
- data/lib/picky/internals/calculations/location.rb +0 -59
- data/lib/picky/internals/frontend_adapters/rack.rb +0 -150
- data/lib/picky/internals/generators/base.rb +0 -19
- data/lib/picky/internals/generators/partial/default.rb +0 -7
- data/lib/picky/internals/generators/partial/none.rb +0 -35
- data/lib/picky/internals/generators/partial/strategy.rb +0 -29
- data/lib/picky/internals/generators/partial/substring.rb +0 -122
- data/lib/picky/internals/generators/partial_generator.rb +0 -19
- data/lib/picky/internals/generators/similarity/default.rb +0 -9
- data/lib/picky/internals/generators/similarity/double_metaphone.rb +0 -32
- data/lib/picky/internals/generators/similarity/metaphone.rb +0 -32
- data/lib/picky/internals/generators/similarity/none.rb +0 -35
- data/lib/picky/internals/generators/similarity/phonetic.rb +0 -69
- data/lib/picky/internals/generators/similarity/soundex.rb +0 -32
- data/lib/picky/internals/generators/similarity/strategy.rb +0 -11
- data/lib/picky/internals/generators/similarity_generator.rb +0 -19
- data/lib/picky/internals/generators/strategy.rb +0 -18
- data/lib/picky/internals/generators/weights/default.rb +0 -9
- data/lib/picky/internals/generators/weights/logarithmic.rb +0 -43
- data/lib/picky/internals/generators/weights/strategy.rb +0 -11
- data/lib/picky/internals/generators/weights_generator.rb +0 -19
- data/lib/picky/internals/index/backend.rb +0 -112
- data/lib/picky/internals/index/file/basic.rb +0 -105
- data/lib/picky/internals/index/file/json.rb +0 -38
- data/lib/picky/internals/index/file/marshal.rb +0 -38
- data/lib/picky/internals/index/file/text.rb +0 -60
- data/lib/picky/internals/index/files.rb +0 -34
- data/lib/picky/internals/index/redis/basic.rb +0 -89
- data/lib/picky/internals/index/redis/list_hash.rb +0 -53
- data/lib/picky/internals/index/redis/string_hash.rb +0 -44
- data/lib/picky/internals/index/redis.rb +0 -44
- data/lib/picky/internals/indexed/bundle/base.rb +0 -114
- data/lib/picky/internals/indexed/bundle/memory.rb +0 -95
- data/lib/picky/internals/indexed/bundle/redis.rb +0 -49
- data/lib/picky/internals/indexed/categories.rb +0 -140
- data/lib/picky/internals/indexed/category.rb +0 -111
- data/lib/picky/internals/indexed/index.rb +0 -63
- data/lib/picky/internals/indexed/wrappers/bundle/calculation.rb +0 -37
- data/lib/picky/internals/indexed/wrappers/bundle/location.rb +0 -44
- data/lib/picky/internals/indexed/wrappers/bundle/wrapper.rb +0 -45
- data/lib/picky/internals/indexed/wrappers/category/location.rb +0 -27
- data/lib/picky/internals/indexed/wrappers/exact_first.rb +0 -59
- data/lib/picky/internals/indexing/bundle/base.rb +0 -216
- data/lib/picky/internals/indexing/bundle/memory.rb +0 -29
- data/lib/picky/internals/indexing/bundle/redis.rb +0 -28
- data/lib/picky/internals/indexing/bundle/super_base.rb +0 -65
- data/lib/picky/internals/indexing/category.rb +0 -153
- data/lib/picky/internals/indexing/index.rb +0 -142
- data/lib/picky/internals/indexing/wrappers/category/location.rb +0 -27
- data/lib/picky/internals/query/allocation.rb +0 -88
- data/lib/picky/internals/query/allocations.rb +0 -118
- data/lib/picky/internals/query/combination.rb +0 -80
- data/lib/picky/internals/query/combinations/base.rb +0 -74
- data/lib/picky/internals/query/combinations/memory.rb +0 -52
- data/lib/picky/internals/query/combinations/redis.rb +0 -90
- data/lib/picky/internals/query/indexes.rb +0 -199
- data/lib/picky/internals/query/qualifiers.rb +0 -82
- data/lib/picky/internals/query/token.rb +0 -202
- data/lib/picky/internals/query/tokens.rb +0 -109
- data/lib/picky/internals/shared/category.rb +0 -52
- data/lib/picky/internals/tokenizers/base.rb +0 -228
- data/lib/picky/internals/tokenizers/index.rb +0 -34
- data/lib/picky/internals/tokenizers/location.rb +0 -54
- data/lib/picky/internals/tokenizers/query.rb +0 -59
- data/lib/picky/internals.rb +0 -2
- data/spec/lib/aliases_spec.rb +0 -9
- data/spec/lib/index_bundle_spec.rb +0 -69
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Index::Base do
|
4
4
|
|
5
5
|
context "with categories" do
|
6
6
|
before(:each) do
|
7
|
-
@source =
|
7
|
+
@source = []
|
8
8
|
|
9
9
|
@index = described_class.new :some_name, source: @source
|
10
10
|
@index.define_category :some_category_name1
|
@@ -22,24 +22,11 @@ describe Internals::Indexing::Index do
|
|
22
22
|
@index.source.should == :some_other_source
|
23
23
|
end
|
24
24
|
end
|
25
|
-
describe "generate_caches" do
|
26
|
-
it "delegates to each category" do
|
27
|
-
category1 = stub :category1
|
28
|
-
category2 = stub :category2
|
29
|
-
|
30
|
-
@index.stub! :categories => [category1, category2]
|
31
|
-
|
32
|
-
category1.should_receive(:generate_caches).once.ordered.with
|
33
|
-
category2.should_receive(:generate_caches).once.ordered.with
|
34
|
-
|
35
|
-
@index.generate_caches
|
36
|
-
end
|
37
|
-
end
|
38
25
|
describe 'find' do
|
39
26
|
context 'no categories' do
|
40
27
|
it 'raises on none existent category' do
|
41
28
|
expect do
|
42
|
-
@index
|
29
|
+
@index[:some_non_existent_name]
|
43
30
|
end.to raise_error(%Q{Index category "some_non_existent_name" not found. Possible categories: "some_category_name1", "some_category_name2".})
|
44
31
|
end
|
45
32
|
end
|
@@ -48,11 +35,11 @@ describe Internals::Indexing::Index do
|
|
48
35
|
@index.define_category :some_name, :source => stub(:source)
|
49
36
|
end
|
50
37
|
it 'returns it if found' do
|
51
|
-
@index
|
38
|
+
@index[:some_name].should_not == nil
|
52
39
|
end
|
53
40
|
it 'raises on none existent category' do
|
54
41
|
expect do
|
55
|
-
@index
|
42
|
+
@index[:some_non_existent_name]
|
56
43
|
end.to raise_error(%Q{Index category "some_non_existent_name" not found. Possible categories: "some_category_name1", "some_category_name2", "some_name".})
|
57
44
|
end
|
58
45
|
end
|
@@ -61,7 +48,7 @@ describe Internals::Indexing::Index do
|
|
61
48
|
|
62
49
|
context "no categories" do
|
63
50
|
it "works" do
|
64
|
-
described_class.new :some_name, source:
|
51
|
+
described_class.new :some_name, source: []
|
65
52
|
end
|
66
53
|
end
|
67
54
|
|
data/spec/lib/index/base_spec.rb
CHANGED
@@ -61,67 +61,24 @@ ERROR
|
|
61
61
|
api.geo_categories :some_lat, :some_lng, 1, :lat_from => :some_lat_from, :lng_from => :some_lng_from
|
62
62
|
end
|
63
63
|
end
|
64
|
-
|
65
|
-
describe 'define_source' do
|
66
|
-
it 'delegates to the internal indexing' do
|
67
|
-
indexing = stub :indexing
|
68
|
-
api.stub! :internal_indexing => indexing
|
69
|
-
|
70
|
-
indexing.should_receive(:define_source).once.with :some_source
|
71
|
-
|
72
|
-
api.define_source :some_source
|
73
|
-
end
|
74
|
-
it 'has an alias' do
|
75
|
-
indexing = stub :indexing
|
76
|
-
api.stub! :internal_indexing => indexing
|
77
|
-
|
78
|
-
indexing.should_receive(:define_source).once.with :some_source
|
79
|
-
|
80
|
-
api.source :some_source
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
describe 'define_indexing' do
|
85
|
-
it 'delegates to the internal indexing' do
|
86
|
-
indexing = stub :indexing
|
87
|
-
api.stub! :internal_indexing => indexing
|
88
|
-
|
89
|
-
indexing.should_receive(:define_indexing).once.with :some_options
|
90
|
-
|
91
|
-
api.define_indexing :some_options
|
92
|
-
end
|
93
|
-
it 'has an alias' do
|
94
|
-
indexing = stub :indexing
|
95
|
-
api.stub! :internal_indexing => indexing
|
96
|
-
|
97
|
-
indexing.should_receive(:define_indexing).once.with :some_options
|
98
|
-
|
99
|
-
api.indexing :some_options
|
100
|
-
end
|
101
|
-
end
|
102
64
|
|
103
65
|
describe 'define_category' do
|
104
66
|
context 'with block' do
|
105
|
-
it 'returns
|
106
|
-
|
67
|
+
it 'returns the category' do
|
68
|
+
expected = nil
|
69
|
+
api.define_category(:some_name){ |category| expected = category }.should == expected
|
107
70
|
end
|
108
71
|
it 'takes a string' do
|
109
72
|
lambda { api.define_category('some_name'){ |indexing, indexed| } }.should_not raise_error
|
110
73
|
end
|
111
74
|
it 'yields both the indexing category and the indexed category' do
|
112
|
-
api.define_category(:some_name) do |
|
113
|
-
|
114
|
-
indexed.should be_kind_of(Internals::Indexed::Category)
|
115
|
-
end
|
116
|
-
end
|
117
|
-
it 'yields the indexing category which has the given name' do
|
118
|
-
api.define_category(:some_name) do |indexing, indexed|
|
119
|
-
indexing.name.should == :some_name
|
75
|
+
api.define_category(:some_name) do |category|
|
76
|
+
category.should be_kind_of(Category)
|
120
77
|
end
|
121
78
|
end
|
122
|
-
it 'yields the
|
123
|
-
api.define_category(:some_name) do |
|
124
|
-
|
79
|
+
it 'yields the category which has the given name' do
|
80
|
+
api.define_category(:some_name) do |category|
|
81
|
+
category.name.should == :some_name
|
125
82
|
end
|
126
83
|
end
|
127
84
|
end
|
@@ -130,10 +87,10 @@ ERROR
|
|
130
87
|
lambda { api.define_category(:some_name) }.should_not raise_error
|
131
88
|
end
|
132
89
|
it 'takes a string' do
|
133
|
-
lambda { api.define_category('some_name')
|
90
|
+
lambda { api.define_category('some_name') }.should_not raise_error
|
134
91
|
end
|
135
92
|
it 'returns itself' do
|
136
|
-
api.define_category(:some_name).should
|
93
|
+
api.define_category(:some_name).should be_kind_of(Category)
|
137
94
|
end
|
138
95
|
end
|
139
96
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexed::Bundle::Memory do
|
4
4
|
|
5
5
|
before(:each) do
|
6
|
-
@index =
|
7
|
-
@category =
|
6
|
+
@index = Index::Memory.new :some_index, source: []
|
7
|
+
@category = Category.new :some_category, @index
|
8
8
|
|
9
9
|
@similarity = stub :similarity
|
10
10
|
@bundle = described_class.new :some_name, @category, @similarity
|
@@ -160,8 +160,8 @@ Memory
|
|
160
160
|
|
161
161
|
describe 'initialization' do
|
162
162
|
before(:each) do
|
163
|
-
@index =
|
164
|
-
@category =
|
163
|
+
@index = Index::Memory.new :some_index, source: []
|
164
|
+
@category = Category.new :some_category, @index
|
165
165
|
|
166
166
|
@bundle = described_class.new :some_name, @category, :similarity
|
167
167
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexed::Bundle::Redis do
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
@backend = stub :backend
|
7
7
|
|
8
|
-
|
8
|
+
Backend::Redis.stub! :new => @backend
|
9
9
|
|
10
|
-
@index =
|
11
|
-
@category =
|
10
|
+
@index = Index::Memory.new :some_index, source: []
|
11
|
+
@category = Category.new :some_category, @index
|
12
12
|
|
13
13
|
@similarity = stub :similarity
|
14
14
|
@bundle = described_class.new :some_name, @category, @similarity
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexed::Wrappers::ExactFirst do
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
@exact = stub :exact
|
7
7
|
@partial = stub :partial
|
8
|
-
@category = stub :category, :
|
8
|
+
@category = stub :category, :indexed_exact => @exact, :indexed_partial => @partial
|
9
9
|
|
10
10
|
@wrapper = described_class.new @category
|
11
11
|
end
|
@@ -13,17 +13,17 @@ describe Internals::Indexed::Wrappers::ExactFirst do
|
|
13
13
|
describe "self.wrap" do
|
14
14
|
context "index" do
|
15
15
|
it "wraps each category" do
|
16
|
-
index =
|
16
|
+
index = Index::Memory.new :some_index, source: []
|
17
17
|
index.define_category :some_category
|
18
18
|
|
19
|
-
|
19
|
+
Indexed::Wrappers::ExactFirst.wrap index
|
20
20
|
|
21
21
|
index.categories.categories.each do |category|
|
22
|
-
category.should be_kind_of(
|
22
|
+
category.should be_kind_of(Indexed::Wrappers::ExactFirst)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
it "returns the index" do
|
26
|
-
index =
|
26
|
+
index = Index::Memory.new :some_index, source: []
|
27
27
|
index.define_category :some_category
|
28
28
|
|
29
29
|
described_class.wrap(index).should == index
|
@@ -31,7 +31,7 @@ describe Internals::Indexed::Wrappers::ExactFirst do
|
|
31
31
|
end
|
32
32
|
context "category" do
|
33
33
|
it "wraps each category" do
|
34
|
-
category = stub :category, :
|
34
|
+
category = stub :category, :indexed_exact => :exact, :indexed_partial => :partial
|
35
35
|
|
36
36
|
described_class.wrap(category).should be_kind_of(described_class)
|
37
37
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Indexes do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@index = stub :some_index, :name => :some_index
|
7
|
+
@indexes = described_class.instance
|
8
|
+
end
|
9
|
+
|
10
|
+
describe 'clear' do
|
11
|
+
it 'clears the indexes' do
|
12
|
+
Indexes.register @index
|
13
|
+
|
14
|
+
Indexes.clear
|
15
|
+
|
16
|
+
@indexes.indexes.should == []
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe 'register' do
|
21
|
+
it 'adds the given index to the indexes' do
|
22
|
+
Indexes.clear
|
23
|
+
|
24
|
+
Indexes.register @index
|
25
|
+
|
26
|
+
@indexes.indexes.should == [@index]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
|
-
describe
|
5
|
+
describe Indexes do
|
4
6
|
|
5
7
|
context 'after initialize' do
|
6
8
|
let(:indexes) { described_class.new }
|
@@ -8,7 +10,7 @@ describe Indexing::Indexes do
|
|
8
10
|
indexes.indexes.should == []
|
9
11
|
end
|
10
12
|
end
|
11
|
-
|
13
|
+
|
12
14
|
describe 'methods' do
|
13
15
|
let(:indexes) { described_class.new }
|
14
16
|
before(:each) do
|
@@ -20,11 +22,9 @@ describe Indexing::Indexes do
|
|
20
22
|
describe 'index_for_tests' do
|
21
23
|
it 'takes a snapshot, then indexes and caches each' do
|
22
24
|
indexes.should_receive(:take_snapshot).once.with.ordered
|
23
|
-
@index1.should_receive(:index
|
24
|
-
@
|
25
|
-
|
26
|
-
@index2.should_receive(:cache!).once.with.ordered
|
27
|
-
|
25
|
+
@index1.should_receive(:index).once.with.ordered
|
26
|
+
@index2.should_receive(:index).once.with.ordered
|
27
|
+
|
28
28
|
indexes.index_for_tests
|
29
29
|
end
|
30
30
|
end
|
@@ -36,7 +36,7 @@ describe Indexing::Indexes do
|
|
36
36
|
describe 'clear' do
|
37
37
|
it 'clears the indexes' do
|
38
38
|
indexes.clear
|
39
|
-
|
39
|
+
|
40
40
|
indexes.indexes.should == []
|
41
41
|
end
|
42
42
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
4
|
-
|
3
|
+
describe Indexes do
|
4
|
+
|
5
5
|
before(:each) do
|
6
|
-
@
|
6
|
+
@index = stub :some_index, :name => :some_index
|
7
|
+
@indexes = described_class.instance
|
7
8
|
end
|
8
|
-
|
9
|
+
|
9
10
|
describe 'indexes' do
|
10
11
|
it 'exists' do
|
11
12
|
lambda { @indexes.indexes }.should_not raise_error
|
@@ -14,23 +15,25 @@ describe Indexing::Indexes do
|
|
14
15
|
@indexes.indexes.should be_empty
|
15
16
|
end
|
16
17
|
end
|
17
|
-
|
18
|
+
|
18
19
|
describe 'clear' do
|
19
20
|
it 'clears the indexes' do
|
20
|
-
@indexes.register
|
21
|
-
|
21
|
+
@indexes.register @index
|
22
|
+
|
22
23
|
@indexes.clear
|
23
|
-
|
24
|
+
|
24
25
|
@indexes.indexes.should == []
|
25
26
|
end
|
26
27
|
end
|
27
|
-
|
28
|
+
|
28
29
|
describe 'register' do
|
29
30
|
it 'adds the given index to the indexes' do
|
30
|
-
@indexes.
|
31
|
+
@indexes.clear
|
31
32
|
|
32
|
-
@indexes.
|
33
|
+
@indexes.register @index
|
34
|
+
|
35
|
+
@indexes.indexes.should == [@index]
|
33
36
|
end
|
34
37
|
end
|
35
|
-
|
38
|
+
|
36
39
|
end
|
data/spec/lib/{internals/indexing → indexing}/bundle/memory_partial_generation_speed_spec.rb
RENAMED
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexing::Bundle::Memory do
|
4
4
|
|
5
5
|
before(:each) do
|
6
|
-
@index =
|
7
|
-
@category =
|
6
|
+
@index = Index::Memory.new :some_index, source: []
|
7
|
+
@category = Category.new :some_category, @index
|
8
8
|
|
9
|
-
@partial_strategy =
|
9
|
+
@partial_strategy = Generators::Partial::Substring.new :from => 1
|
10
10
|
@exact = described_class.new :some_name, @category, nil, @partial_strategy, nil
|
11
11
|
end
|
12
12
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexing::Bundle::Memory do
|
4
4
|
|
5
5
|
before(:each) do
|
6
|
-
@index
|
7
|
-
@category
|
6
|
+
@index = Index::Memory.new :some_index, source: []
|
7
|
+
@category = Category.new :some_category, @index
|
8
8
|
|
9
9
|
@partial = stub :partial
|
10
10
|
@weights = stub :weights
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexing::Bundle::Redis do
|
4
4
|
|
5
5
|
before(:each) do
|
6
|
-
@index =
|
7
|
-
@category =
|
6
|
+
@index = Index::Memory.new :some_index, source: []
|
7
|
+
@category = Category.new :some_category, @index
|
8
8
|
|
9
9
|
@partial = stub :partial
|
10
10
|
@weights = stub :weights
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Indexing::Bundle::SuperBase do
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
@configuration = stub :configuration, :identifier => 'some_identifier'
|
7
|
-
|
7
|
+
Backend::Files.stub! :new
|
8
8
|
@similarity = Similarity::DoubleMetaphone.new 3
|
9
9
|
@bundle = described_class.new :some_name, @configuration, @similarity
|
10
10
|
end
|
File without changes
|
@@ -2,14 +2,14 @@
|
|
2
2
|
#
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe
|
5
|
+
describe Query::Combination do
|
6
6
|
|
7
7
|
before(:each) do
|
8
8
|
@bundle = stub :bundle, :identifier => :bundle_name
|
9
|
-
@token =
|
9
|
+
@token = Query::Token.processed('some_text~')
|
10
10
|
@category = stub :category, :bundle_for => @bundle, :name => :some_category_name
|
11
11
|
|
12
|
-
@combination =
|
12
|
+
@combination = described_class.new @token, @category
|
13
13
|
end
|
14
14
|
|
15
15
|
describe "to_s" do
|
@@ -41,9 +41,9 @@ describe 'Query::Combination' do
|
|
41
41
|
describe 'to_result' do
|
42
42
|
context 'functional with qualifier' do
|
43
43
|
before(:each) do
|
44
|
-
token =
|
44
|
+
token = Tokenizers::Query.new.tokenize('name:Blä~').first
|
45
45
|
|
46
|
-
@combination =
|
46
|
+
@combination = Query::Combination.new token, @category
|
47
47
|
end
|
48
48
|
it 'should return a correct result' do
|
49
49
|
@combination.to_result.should == [:some_category_name, 'Blä~', :blä] # Note: Characters not substituted. That's ok.
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Query::Qualifiers do
|
4
4
|
|
5
5
|
before(:each) do
|
6
|
-
described_class.instance <<
|
7
|
-
described_class.instance <<
|
8
|
-
described_class.instance <<
|
6
|
+
described_class.instance << Query::Qualifier.new(:test1, ['t1', 'tt1', 'ttt1'])
|
7
|
+
described_class.instance << Query::Qualifier.new(:test2, [:t2, :tt2, :ttt2])
|
8
|
+
described_class.instance << Query::Qualifier.new(:test3, [:t3, :tt3, :ttt3])
|
9
9
|
described_class.instance.prepare
|
10
10
|
end
|
11
11
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
|
-
describe
|
4
|
+
describe Query::Token do
|
5
5
|
|
6
6
|
before(:all) do
|
7
|
-
|
8
|
-
|
7
|
+
Query::Qualifiers.instance << Query::Qualifier.new(:specific, [:sp, :spec])
|
8
|
+
Query::Qualifiers.instance.prepare
|
9
9
|
end
|
10
10
|
|
11
11
|
describe '==' do
|