waistband 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/waistband/query.rb +13 -0
- data/lib/waistband/version.rb +1 -1
- data/spec/lib/query_spec.rb +37 -0
- metadata +2 -2
data/lib/waistband/query.rb
CHANGED
@@ -97,6 +97,17 @@ module Waistband
|
|
97
97
|
}
|
98
98
|
end
|
99
99
|
|
100
|
+
def add_random_sort
|
101
|
+
@random_sort = {
|
102
|
+
_script: {
|
103
|
+
script: "Math.random()",
|
104
|
+
type: :number,
|
105
|
+
params: {},
|
106
|
+
order: :asc
|
107
|
+
}
|
108
|
+
}
|
109
|
+
end
|
110
|
+
|
100
111
|
private
|
101
112
|
|
102
113
|
def url
|
@@ -127,6 +138,8 @@ module Waistband
|
|
127
138
|
end
|
128
139
|
|
129
140
|
def sort_to_hash
|
141
|
+
return @random_sort if @random_sort
|
142
|
+
|
130
143
|
sort = []
|
131
144
|
|
132
145
|
@sorts.each do |s|
|
data/lib/waistband/version.rb
CHANGED
data/spec/lib/query_spec.rb
CHANGED
@@ -84,6 +84,43 @@ describe Waistband::Query do
|
|
84
84
|
|
85
85
|
end
|
86
86
|
|
87
|
+
describe '#add_random_sort' do
|
88
|
+
|
89
|
+
it "sets the correct instance variables" do
|
90
|
+
query.add_random_sort
|
91
|
+
|
92
|
+
query.instance_variable_get('@random_sort').should eql({
|
93
|
+
_script: {
|
94
|
+
script: "Math.random()",
|
95
|
+
type: :number,
|
96
|
+
params: {},
|
97
|
+
order: :asc
|
98
|
+
}
|
99
|
+
})
|
100
|
+
|
101
|
+
query.send(:sort_to_hash).should eql({
|
102
|
+
_script: {
|
103
|
+
script: "Math.random()",
|
104
|
+
type: :number,
|
105
|
+
params: {},
|
106
|
+
order: :asc
|
107
|
+
}
|
108
|
+
})
|
109
|
+
end
|
110
|
+
|
111
|
+
it "sorts restuls randomly" do
|
112
|
+
add_result!
|
113
|
+
|
114
|
+
query = index.query('shopping ikea')
|
115
|
+
|
116
|
+
query.add_field('name')
|
117
|
+
query.add_random_sort
|
118
|
+
|
119
|
+
query.results.size.should eql 2
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
87
124
|
describe '#add_range' do
|
88
125
|
|
89
126
|
it "adds a range" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: waistband
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-09-
|
12
|
+
date: 2013-09-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|