swiftype-rb 0.0.1 → 0.0.2
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/README.md +0 -2
- data/lib/swiftype/document_type.rb +3 -3
- data/lib/swiftype/easy.rb +2 -2
- data/lib/swiftype/search.rb +7 -21
- data/lib/swiftype/version.rb +1 -1
- data/swiftype-rb.gemspec +2 -2
- metadata +43 -15
data/README.md
CHANGED
@@ -2,7 +2,7 @@ module Swiftype
|
|
2
2
|
class DocumentType < BaseModel
|
3
3
|
parents Engine
|
4
4
|
include Swiftype::Search
|
5
|
-
|
5
|
+
|
6
6
|
def build_document(params={})
|
7
7
|
Document.new({
|
8
8
|
:document_type_id => id || slug,
|
@@ -55,7 +55,7 @@ module Swiftype
|
|
55
55
|
|
56
56
|
def suggest(query, options={})
|
57
57
|
search_params = { :q => query }.merge(parse_suggest_options(options))
|
58
|
-
response =
|
58
|
+
response = post("engines/#{engine_id}/document_types/#{slug}/suggest.json", search_params)
|
59
59
|
results = {}
|
60
60
|
response['records'].each { |document_type, records| results[document_type] = records.map { |d| Swiftype::Document.new(d) }}
|
61
61
|
results
|
@@ -63,7 +63,7 @@ module Swiftype
|
|
63
63
|
|
64
64
|
def search(query, options={})
|
65
65
|
search_params = { :q => query }.merge(parse_search_options(options))
|
66
|
-
response =
|
66
|
+
response = post("engines/#{engine_id}/document_types/#{slug}/search.json", search_params)
|
67
67
|
results = {}
|
68
68
|
response['records'].each { |document_type, records| results[document_type] = records.map { |d| Swiftype::Document.new(d) }}
|
69
69
|
results
|
data/lib/swiftype/easy.rb
CHANGED
@@ -21,14 +21,14 @@ module Swiftype
|
|
21
21
|
end
|
22
22
|
def suggest(engine_id, query, options={})
|
23
23
|
search_params = { :q => query }.merge(parse_suggest_options(options))
|
24
|
-
response =
|
24
|
+
response = post("engines/#{engine_id}/suggest.json", search_params)
|
25
25
|
results = {}
|
26
26
|
response['records'].each { |document_type, records| results[document_type] = records.map { |d| Swiftype::Document.new(d) }}
|
27
27
|
results
|
28
28
|
end
|
29
29
|
def search(engine_id, query, options={})
|
30
30
|
search_params = { :q => query }.merge(parse_search_options(options))
|
31
|
-
response =
|
31
|
+
response = post("engines/#{engine_id}/search.json", search_params)
|
32
32
|
results = {}
|
33
33
|
response['records'].each { |document_type, records| results[document_type] = records.map { |d| Swiftype::Document.new(d) }}
|
34
34
|
results
|
data/lib/swiftype/search.rb
CHANGED
@@ -1,37 +1,23 @@
|
|
1
1
|
module Swiftype
|
2
2
|
module Search
|
3
|
-
|
4
|
-
VALID_SEARCH_OPTIONS =
|
5
|
-
VALID_SUGGEST_OPTIONS = [:fetch_fields, :search_fields, :filters, :document_types, :functional_boosts]
|
3
|
+
VALID_SUGGEST_OPTIONS = [:fetch_fields, :search_fields, :filters, :document_types, :functional_boosts, :page, :per_page]
|
4
|
+
VALID_SEARCH_OPTIONS = [:fetch_fields, :search_fields, :filters, :document_types, :functional_boosts, :page, :per_page, :sort_field, :sort_direction]
|
6
5
|
|
7
6
|
def parse_search_options(options)
|
8
|
-
parse_options(options,VALID_SEARCH_OPTIONS)
|
7
|
+
parse_options(options, VALID_SEARCH_OPTIONS)
|
9
8
|
end
|
10
9
|
|
11
10
|
def parse_suggest_options(options)
|
12
|
-
parse_options(options,VALID_SUGGEST_OPTIONS)
|
11
|
+
parse_options(options, VALID_SUGGEST_OPTIONS)
|
13
12
|
end
|
14
13
|
|
15
|
-
def parse_options(options,valid_options)
|
14
|
+
def parse_options(options, valid_options)
|
16
15
|
parsed_options = {}
|
17
16
|
valid_options.each do |option_name|
|
18
|
-
next unless options[option_name]
|
19
|
-
|
17
|
+
next unless options[option_name]
|
18
|
+
parsed_options[option_name] = options[option_name]
|
20
19
|
end
|
21
20
|
parsed_options
|
22
21
|
end
|
23
|
-
|
24
|
-
# recursive method to encode arrays, hashes, and values the 'Rails' way, to make server-side parsing simpler
|
25
|
-
def encode_single_option(parsed_options,key,value,prefix='')
|
26
|
-
prefix = key if prefix.empty?
|
27
|
-
if value.instance_of?(Hash)
|
28
|
-
value.each { |k,v| encode_single_option(parsed_options,k,v,"#{prefix}[#{k}]") }
|
29
|
-
elsif value.instance_of?(Array)
|
30
|
-
parsed_options["#{prefix}[]"] = value
|
31
|
-
else
|
32
|
-
parsed_options["#{prefix}"] = value
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
22
|
end
|
37
23
|
end
|
data/lib/swiftype/version.rb
CHANGED
data/swiftype-rb.gemspec
CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
# specify any dependencies here; for example:
|
22
22
|
# s.add_development_dependency "rspec"
|
23
23
|
s.add_runtime_dependency "json"
|
24
|
-
s.add_runtime_dependency "faraday", ['~> 0.
|
25
|
-
s.add_runtime_dependency "faraday_middleware", ['~> 0.8.
|
24
|
+
s.add_runtime_dependency "faraday", ['~> 0.8.1']
|
25
|
+
s.add_runtime_dependency "faraday_middleware", ['~> 0.8.7']
|
26
26
|
s.add_runtime_dependency "hashie", ['~> 1.2.0']
|
27
27
|
s.add_runtime_dependency 'activesupport', ['>= 2.3.9', '< 4']
|
28
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swiftype-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-08-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,32 +22,47 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: faraday
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ~>
|
32
37
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
38
|
+
version: 0.8.1
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.8.1
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: faraday_middleware
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ~>
|
43
53
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.8.
|
54
|
+
version: 0.8.7
|
45
55
|
type: :runtime
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.8.7
|
48
63
|
- !ruby/object:Gem::Dependency
|
49
64
|
name: hashie
|
50
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
67
|
requirements:
|
53
68
|
- - ~>
|
@@ -55,10 +70,15 @@ dependencies:
|
|
55
70
|
version: 1.2.0
|
56
71
|
type: :runtime
|
57
72
|
prerelease: false
|
58
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.2.0
|
59
79
|
- !ruby/object:Gem::Dependency
|
60
80
|
name: activesupport
|
61
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
83
|
requirements:
|
64
84
|
- - ! '>='
|
@@ -69,7 +89,15 @@ dependencies:
|
|
69
89
|
version: '4'
|
70
90
|
type: :runtime
|
71
91
|
prerelease: false
|
72
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 2.3.9
|
98
|
+
- - <
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '4'
|
73
101
|
description: Official Gem for accessing the Swiftype Search API
|
74
102
|
email:
|
75
103
|
- team@swiftype.com
|
@@ -115,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
143
|
version: '0'
|
116
144
|
requirements: []
|
117
145
|
rubyforge_project: swiftype-rb
|
118
|
-
rubygems_version: 1.8.
|
146
|
+
rubygems_version: 1.8.23
|
119
147
|
signing_key:
|
120
148
|
specification_version: 3
|
121
149
|
summary: Swiftype API Gem
|