picky 0.12.1 → 0.12.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/lib/picky/Index_api.rb +10 -3
  2. data/lib/picky/cacher/partial/substring.rb +4 -4
  3. data/lib/picky/calculations/location.rb +39 -0
  4. data/lib/picky/configuration/index.rb +2 -2
  5. data/lib/picky/extensions/array.rb +0 -8
  6. data/lib/picky/extensions/symbol.rb +2 -16
  7. data/lib/picky/generator.rb +0 -2
  8. data/lib/picky/index/bundle.rb +7 -5
  9. data/lib/picky/index/file/basic.rb +2 -6
  10. data/lib/picky/index/files.rb +24 -14
  11. data/lib/picky/indexed/bundle.rb +7 -14
  12. data/lib/picky/indexed/category.rb +2 -1
  13. data/lib/picky/indexed/wrappers/bundle/calculation.rb +35 -0
  14. data/lib/picky/indexed/wrappers/bundle/location.rb +40 -0
  15. data/lib/picky/indexed/wrappers/bundle/wrapper.rb +25 -0
  16. data/lib/picky/indexers/serial.rb +1 -1
  17. data/lib/picky/indexing/bundle.rb +7 -0
  18. data/lib/picky/indexing/category.rb +22 -1
  19. data/lib/picky/loader.rb +10 -0
  20. data/lib/picky/sources/couch.rb +1 -1
  21. data/lib/picky/sources/csv.rb +6 -4
  22. data/lib/picky/sources/db.rb +1 -1
  23. data/lib/picky/sources/delicious.rb +1 -1
  24. data/lib/picky/sources/wrappers/base.rb +5 -4
  25. data/lib/picky/sources/wrappers/location.rb +16 -22
  26. data/lib/tasks/try.rake +2 -2
  27. data/spec/lib/calculations/location_spec.rb +35 -0
  28. data/spec/lib/extensions/array_spec.rb +0 -10
  29. data/spec/lib/extensions/symbol_spec.rb +1 -69
  30. data/spec/lib/index/files_spec.rb +54 -34
  31. data/spec/lib/indexed/bundle_spec.rb +17 -14
  32. data/spec/lib/indexed/wrappers/bundle/calculation_spec.rb +37 -0
  33. data/spec/lib/indexed/wrappers/bundle/wrapper_spec.rb +27 -0
  34. data/spec/lib/indexing/bundle_spec.rb +5 -1
  35. data/spec/lib/sources/couch_spec.rb +1 -1
  36. data/spec/lib/sources/csv_spec.rb +41 -11
  37. data/spec/lib/sources/db_spec.rb +5 -5
  38. data/spec/lib/sources/delicious_spec.rb +6 -6
  39. data/spec/lib/sources/wrappers/base_spec.rb +7 -3
  40. data/spec/lib/sources/wrappers/location_spec.rb +11 -12
  41. metadata +13 -3
@@ -18,12 +18,12 @@ describe Sources::DB do
18
18
 
19
19
  describe "get_data" do
20
20
  it "delegates" do
21
- type = stub :type, :name => :some_type
22
- field = stub :field, :name => :some_field
21
+ type = stub :type, :name => :some_type
22
+ category = stub :category, :from => :some_category
23
23
 
24
- @connection.should_receive(:execute).once.with 'SELECT indexed_id, some_field FROM some_type_type_index st WHERE st.id > some_offset LIMIT 25000'
24
+ @connection.should_receive(:execute).once.with 'SELECT indexed_id, some_category FROM some_type_type_index st WHERE st.id > some_offset LIMIT 25000'
25
25
 
26
- @source.get_data type, field, :some_offset
26
+ @source.get_data type, category, :some_offset
27
27
  end
28
28
  end
29
29
 
@@ -112,7 +112,7 @@ describe Sources::DB do
112
112
 
113
113
  describe "harvest_statement_with_offset" do
114
114
  before(:each) do
115
- @category = stub :category, :name => :some_category
115
+ @category = stub :category, :from => :some_category
116
116
  @type = stub :type, :name => :some_type
117
117
  end
118
118
  it "should get a harvest statement and the chunksize to put the statement together" do
@@ -46,20 +46,20 @@ describe Sources::Delicious do
46
46
  WWW::Delicious.should_receive(:new).and_return delicious
47
47
  end
48
48
  it "should yield the right data" do
49
- field = stub :b, :name => :tags
50
- @source.harvest :anything, field do |id, token|
49
+ category = stub :b, :from => :tags
50
+ @source.harvest :anything, category do |id, token|
51
51
  [id, token].should == [1, "barefoot running shoe"]
52
52
  end
53
53
  end
54
54
  it "should yield the right data" do
55
- field = stub :b, :name => :title
56
- @source.harvest :anything, field do |id, token|
55
+ category = stub :b, :from => :title
56
+ @source.harvest :anything, category do |id, token|
57
57
  [id, token].should == [1, "VIBRAM - FiveFingers"]
58
58
  end
59
59
  end
60
60
  it "should yield the right data" do
61
- field = stub :b, :name => :url
62
- @source.harvest :anything, field do |id, token|
61
+ category = stub :b, :from => :url
62
+ @source.harvest :anything, category do |id, token|
63
63
  [id, token].should == [1, "http://www.vibramfivefingers.it/"]
64
64
  end
65
65
  end
@@ -2,13 +2,17 @@ require 'spec_helper'
2
2
 
3
3
  describe Sources::Wrappers::Base do
4
4
 
5
+ before(:each) do
6
+ @backend = stub :backend
7
+ @category = stub :category, :source => @backend
8
+ end
9
+
5
10
  context "with backend" do
6
11
  it "doesn't fail" do
7
- lambda { Sources::Wrappers::Base.new(:something) }.should_not raise_error
12
+ lambda { Sources::Wrappers::Base.new(@category) }.should_not raise_error
8
13
  end
9
14
  before(:each) do
10
- @backend = stub :backend
11
- @wrapper = Sources::Wrappers::Base.new @backend
15
+ @wrapper = Sources::Wrappers::Base.new @category
12
16
  end
13
17
  it "delegates harvest" do
14
18
  @backend.should_receive(:harvest).once.with :some_type, :some_field
@@ -4,7 +4,8 @@ describe Sources::Wrappers::Location do
4
4
 
5
5
  context "with backend" do
6
6
  before(:each) do
7
- @backend = stub :backend
7
+ @backend = stub :backend
8
+ @category = stub :category, :source => @backend
8
9
  end
9
10
  context "without grid option" do
10
11
  it "fails" do
@@ -13,15 +14,17 @@ describe Sources::Wrappers::Location do
13
14
  end
14
15
  context "with grid option" do
15
16
  before(:each) do
16
- @wrapper = Sources::Wrappers::Location.new @backend, grid:10
17
+ @wrapper = Sources::Wrappers::Location.new @category, grid:10
17
18
  end
18
19
  it "uses a default of 1 on the precision" do
19
20
  @wrapper.precision.should == 1
20
21
  end
21
22
  it "delegates harvest" do
22
- @backend.should_receive(:harvest).once.with :some_type, :some_field
23
+ @category.stub! :exact => {}
23
24
 
24
- @wrapper.harvest :some_type, :some_field
25
+ @backend.should_receive(:harvest).once.with :some_type, @category
26
+
27
+ @wrapper.harvest :some_type, @category
25
28
  end
26
29
  it "delegates take_snapshot" do
27
30
  @backend.should_receive(:take_snapshot).once.with :some_type
@@ -36,25 +39,21 @@ describe Sources::Wrappers::Location do
36
39
  end
37
40
  context "with grid and precision option" do
38
41
  before(:each) do
39
- @wrapper = Sources::Wrappers::Location.new @backend, grid:4, precision:2
42
+ @wrapper = Sources::Wrappers::Location.new @category, grid:4, precision:2
40
43
  end
41
44
  it "uses the given precision" do
42
45
  @wrapper.precision.should == 2
43
46
  end
44
47
 
45
48
  describe "locations_for" do
46
- before(:each) do
47
- @wrapper.instance_variable_set :@min, -3
48
- @wrapper.marginize
49
- end
50
49
  it "returns the right array" do
51
- @wrapper.locations_for(17).should == [13, 14, 15, 16, 17] # TODO Correct?
50
+ @wrapper.locations_for(15).should == [13, 14, 15, 16, 17]
52
51
  end
53
52
  it "returns the right array" do
54
- @wrapper.locations_for(-3).should == [0, 1, 2, 3, 4]
53
+ @wrapper.locations_for(2).should == [0, 1, 2, 3, 4]
55
54
  end
56
55
  it "returns the right array" do
57
- @wrapper.locations_for(20).should == [14, 15, 16, 17, 18]
56
+ @wrapper.locations_for(16).should == [14, 15, 16, 17, 18]
58
57
  end
59
58
  end
60
59
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 12
8
- - 1
9
- version: 0.12.1
8
+ - 2
9
+ version: 0.12.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Florian Hanke
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-11-24 00:00:00 +01:00
17
+ date: 2010-11-25 00:00:00 +01:00
18
18
  default_executable: picky
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -61,6 +61,7 @@ files:
61
61
  - lib/picky/cacher/weights/logarithmic.rb
62
62
  - lib/picky/cacher/weights/strategy.rb
63
63
  - lib/picky/cacher/weights_generator.rb
64
+ - lib/picky/calculations/location.rb
64
65
  - lib/picky/character_substituters/west_european.rb
65
66
  - lib/picky/configuration/index.rb
66
67
  - lib/picky/cores.rb
@@ -87,6 +88,9 @@ files:
87
88
  - lib/picky/indexed/category.rb
88
89
  - lib/picky/indexed/index.rb
89
90
  - lib/picky/indexed/indexes.rb
91
+ - lib/picky/indexed/wrappers/bundle/calculation.rb
92
+ - lib/picky/indexed/wrappers/bundle/location.rb
93
+ - lib/picky/indexed/wrappers/bundle/wrapper.rb
90
94
  - lib/picky/indexed/wrappers/exact_first.rb
91
95
  - lib/picky/indexers/no_source_specified_error.rb
92
96
  - lib/picky/indexers/serial.rb
@@ -167,6 +171,7 @@ files:
167
171
  - spec/lib/cacher/similarity_generator_spec.rb
168
172
  - spec/lib/cacher/weights/logarithmic_spec.rb
169
173
  - spec/lib/cacher/weights_generator_spec.rb
174
+ - spec/lib/calculations/location_spec.rb
170
175
  - spec/lib/character_substituters/west_european_spec.rb
171
176
  - spec/lib/configuration/index_spec.rb
172
177
  - spec/lib/cores_spec.rb
@@ -188,6 +193,8 @@ files:
188
193
  - spec/lib/indexed/categories_spec.rb
189
194
  - spec/lib/indexed/category_spec.rb
190
195
  - spec/lib/indexed/index_spec.rb
196
+ - spec/lib/indexed/wrappers/bundle/calculation_spec.rb
197
+ - spec/lib/indexed/wrappers/bundle/wrapper_spec.rb
191
198
  - spec/lib/indexed/wrappers/exact_first_spec.rb
192
199
  - spec/lib/indexers/serial_spec.rb
193
200
  - spec/lib/indexing/bundle_partial_generation_speed_spec.rb
@@ -269,6 +276,7 @@ test_files:
269
276
  - spec/lib/cacher/similarity_generator_spec.rb
270
277
  - spec/lib/cacher/weights/logarithmic_spec.rb
271
278
  - spec/lib/cacher/weights_generator_spec.rb
279
+ - spec/lib/calculations/location_spec.rb
272
280
  - spec/lib/character_substituters/west_european_spec.rb
273
281
  - spec/lib/configuration/index_spec.rb
274
282
  - spec/lib/cores_spec.rb
@@ -290,6 +298,8 @@ test_files:
290
298
  - spec/lib/indexed/categories_spec.rb
291
299
  - spec/lib/indexed/category_spec.rb
292
300
  - spec/lib/indexed/index_spec.rb
301
+ - spec/lib/indexed/wrappers/bundle/calculation_spec.rb
302
+ - spec/lib/indexed/wrappers/bundle/wrapper_spec.rb
293
303
  - spec/lib/indexed/wrappers/exact_first_spec.rb
294
304
  - spec/lib/indexers/serial_spec.rb
295
305
  - spec/lib/indexing/bundle_partial_generation_speed_spec.rb