cloud_search 0.1.0 → 0.1.1
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.
data/lib/cloud_search/config.rb
CHANGED
@@ -11,8 +11,9 @@ module CloudSearch
|
|
11
11
|
private
|
12
12
|
|
13
13
|
def check_configuration_parameters
|
14
|
-
|
15
|
-
|
14
|
+
%w(domain_id domain_name).each do |config|
|
15
|
+
raise MissingConfigurationError.new(config) if CloudSearch.config[config].nil?
|
16
|
+
end
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
@@ -27,6 +28,10 @@ module CloudSearch
|
|
27
28
|
attr_accessor :region
|
28
29
|
attr_accessor :search_url
|
29
30
|
|
31
|
+
def [](config)
|
32
|
+
self.__send__(config)
|
33
|
+
end
|
34
|
+
|
30
35
|
def api_version
|
31
36
|
@api_version ||= "2011-02-01"
|
32
37
|
end
|
@@ -36,7 +41,7 @@ module CloudSearch
|
|
36
41
|
end
|
37
42
|
|
38
43
|
def document_url
|
39
|
-
@document_url ||= "http://doc-#{
|
44
|
+
@document_url ||= "http://doc-#{base_path}"
|
40
45
|
end
|
41
46
|
|
42
47
|
def region
|
@@ -44,7 +49,13 @@ module CloudSearch
|
|
44
49
|
end
|
45
50
|
|
46
51
|
def search_url
|
47
|
-
@search_url ||= "http://search-#{
|
52
|
+
@search_url ||= "http://search-#{base_path}"
|
53
|
+
end
|
54
|
+
|
55
|
+
private
|
56
|
+
|
57
|
+
def base_path
|
58
|
+
"#{self.domain_name}-#{self.domain_id}.#{self.region}.cloudsearch.amazonaws.com/#{self.api_version}"
|
48
59
|
end
|
49
60
|
end
|
50
61
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module CloudSearch
|
2
2
|
class SearchResponse
|
3
|
-
|
3
|
+
attr_writer :items_per_page
|
4
|
+
attr_reader :current_page, :total_pages, :body
|
4
5
|
attr_accessor :http_code
|
5
6
|
|
6
7
|
def results
|
@@ -25,20 +26,20 @@ module CloudSearch
|
|
25
26
|
@items_per_page || 10
|
26
27
|
end
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
alias :any? :found?
|
32
|
-
|
33
|
-
attr_writer :items_per_page
|
34
|
-
attr_reader :current_page
|
35
|
-
attr_reader :total_pages
|
29
|
+
def has_pagination?
|
30
|
+
hits > items_per_page
|
31
|
+
end
|
36
32
|
|
37
33
|
def offset
|
38
34
|
return 0 unless found?
|
39
35
|
(@current_page - 1) * items_per_page
|
40
36
|
end
|
41
37
|
|
38
|
+
alias :page_size :items_per_page
|
39
|
+
alias :limit_value :items_per_page
|
40
|
+
alias :total_entries :hits
|
41
|
+
alias :any? :found?
|
42
|
+
|
42
43
|
private
|
43
44
|
|
44
45
|
def calculate_pages
|
@@ -11,8 +11,8 @@ module CloudSearch
|
|
11
11
|
|
12
12
|
def search
|
13
13
|
cloud_search_response = RestClient.get url
|
14
|
-
@response.http_code
|
15
|
-
@response.body
|
14
|
+
@response.http_code = cloud_search_response.code
|
15
|
+
@response.body = cloud_search_response.body
|
16
16
|
|
17
17
|
@response
|
18
18
|
end
|
data/lib/cloud_search/version.rb
CHANGED
@@ -33,6 +33,23 @@ describe CloudSearch::SearchResponse do
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
+
describe "#has_pagination?" do
|
37
|
+
it "when hits is greater than items_per_page returns true" do
|
38
|
+
subject.items_per_page = 8
|
39
|
+
subject.has_pagination?.should == false
|
40
|
+
end
|
41
|
+
|
42
|
+
it "when hits is less than items_per_page returns false" do
|
43
|
+
subject.items_per_page = 6
|
44
|
+
subject.has_pagination?.should == true
|
45
|
+
end
|
46
|
+
|
47
|
+
it "when hits is equal to items_per_page returns false" do
|
48
|
+
subject.items_per_page = 7
|
49
|
+
subject.has_pagination?.should == false
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
36
53
|
describe "#found?" do
|
37
54
|
it "returns true when found documents" do
|
38
55
|
subject.should be_found
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloud_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
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: 2012-10-
|
12
|
+
date: 2012-10-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
@@ -175,15 +175,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
175
175
|
- - ! '>='
|
176
176
|
- !ruby/object:Gem::Version
|
177
177
|
version: '0'
|
178
|
+
segments:
|
179
|
+
- 0
|
180
|
+
hash: -2319996128587745862
|
178
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
182
|
none: false
|
180
183
|
requirements:
|
181
184
|
- - ! '>='
|
182
185
|
- !ruby/object:Gem::Version
|
183
186
|
version: '0'
|
187
|
+
segments:
|
188
|
+
- 0
|
189
|
+
hash: -2319996128587745862
|
184
190
|
requirements: []
|
185
191
|
rubyforge_project:
|
186
|
-
rubygems_version: 1.8.
|
192
|
+
rubygems_version: 1.8.24
|
187
193
|
signing_key:
|
188
194
|
specification_version: 3
|
189
195
|
summary: A wraper to Amazon CloudSearch's API
|
@@ -204,4 +210,3 @@ test_files:
|
|
204
210
|
- spec/fixtures/vcr_cassettes/search/request/paginated_second_page.yml
|
205
211
|
- spec/spec_helper.rb
|
206
212
|
- spec/support/vcr.rb
|
207
|
-
has_rdoc:
|