algoliasearch 1.1.1 → 1.1.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.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/Gemfile +9 -8
- data/Gemfile.lock +12 -11
- data/VERSION +1 -1
- data/algoliasearch.gemspec +5 -17
- data/lib/algolia/index.rb +3 -0
- data/spec/client_spec.rb +29 -0
- data/spec/spec_helper.rb +15 -0
- metadata +4 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1673fe77906c67ae24f6f8beeb96c744df33a9c
|
4
|
+
data.tar.gz: cbdae006907dc974cc70d14c1827b03f11326523
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae2decbf23a90d5d2d35231ebba879e33c30b9b83b93dc17354ebb7d4d087fa61ec12f2ad3536b2c15e2b575590d1420633bf7b0236429ea5ae1db7c56148e07
|
7
|
+
data.tar.gz: 6ad7e4b1fadf61a650dfed354817676da07740695c9417bfcbdb21af5746aa5d1fb2ea12f9a07ef48772c3a31a0cca1bce80ea51bd338f4190ef019216222f37
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
gem "curb"
|
4
|
+
|
5
5
|
group :development do
|
6
6
|
gem "bundler"
|
7
7
|
gem "jeweler"
|
8
|
-
gem "test-unit"
|
9
|
-
gem "rspec"
|
10
|
-
gem 'shoulda-context'
|
11
|
-
gem 'webmock'
|
12
|
-
gem 'redgreen'
|
13
8
|
end
|
14
9
|
|
15
|
-
|
10
|
+
group :test do
|
11
|
+
gem 'rspec'
|
12
|
+
gem 'autotest'
|
13
|
+
gem 'autotest-fsevent'
|
14
|
+
gem 'redgreen'
|
15
|
+
gem 'autotest-growl'
|
16
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,19 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
ZenTest (4.9.3)
|
4
5
|
addressable (2.3.5)
|
6
|
+
autotest (4.4.6)
|
7
|
+
ZenTest (>= 4.4.1)
|
8
|
+
autotest-fsevent (0.2.8)
|
9
|
+
sys-uname
|
10
|
+
autotest-growl (0.2.16)
|
5
11
|
builder (3.2.2)
|
6
|
-
crack (0.4.1)
|
7
|
-
safe_yaml (~> 0.9.0)
|
8
12
|
curb (0.8.4)
|
9
13
|
diff-lcs (1.2.4)
|
10
14
|
faraday (0.8.8)
|
11
15
|
multipart-post (~> 1.2.0)
|
16
|
+
ffi (1.9.0)
|
12
17
|
git (1.2.6)
|
13
18
|
github_api (0.10.1)
|
14
19
|
addressable
|
@@ -56,22 +61,18 @@ GEM
|
|
56
61
|
rspec-expectations (2.14.3)
|
57
62
|
diff-lcs (>= 1.1.3, < 2.0)
|
58
63
|
rspec-mocks (2.14.3)
|
59
|
-
|
60
|
-
|
61
|
-
test-unit (2.5.5)
|
62
|
-
webmock (1.13.0)
|
63
|
-
addressable (>= 2.2.7)
|
64
|
-
crack (>= 0.3.2)
|
64
|
+
sys-uname (0.9.2)
|
65
|
+
ffi (>= 1.0.0)
|
65
66
|
|
66
67
|
PLATFORMS
|
67
68
|
ruby
|
68
69
|
|
69
70
|
DEPENDENCIES
|
71
|
+
autotest
|
72
|
+
autotest-fsevent
|
73
|
+
autotest-growl
|
70
74
|
bundler
|
71
75
|
curb
|
72
76
|
jeweler
|
73
77
|
redgreen
|
74
78
|
rspec
|
75
|
-
shoulda-context
|
76
|
-
test-unit
|
77
|
-
webmock
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.2
|
data/algoliasearch.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "algoliasearch"
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Algolia"]
|
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.md"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
+
".rspec",
|
20
21
|
"Gemfile",
|
21
22
|
"Gemfile.lock",
|
22
23
|
"LICENSE.txt",
|
@@ -29,7 +30,9 @@ Gem::Specification.new do |s|
|
|
29
30
|
"lib/algolia/error.rb",
|
30
31
|
"lib/algolia/index.rb",
|
31
32
|
"lib/algolia/protocol.rb",
|
32
|
-
"lib/algoliasearch.rb"
|
33
|
+
"lib/algoliasearch.rb",
|
34
|
+
"spec/client_spec.rb",
|
35
|
+
"spec/spec_helper.rb"
|
33
36
|
]
|
34
37
|
s.homepage = "http://github.com/algolia/algoliasearch-client-ruby"
|
35
38
|
s.licenses = ["MIT"]
|
@@ -44,30 +47,15 @@ Gem::Specification.new do |s|
|
|
44
47
|
s.add_runtime_dependency(%q<curb>, [">= 0"])
|
45
48
|
s.add_development_dependency(%q<bundler>, [">= 0"])
|
46
49
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
47
|
-
s.add_development_dependency(%q<test-unit>, [">= 0"])
|
48
|
-
s.add_development_dependency(%q<rspec>, [">= 0"])
|
49
|
-
s.add_development_dependency(%q<shoulda-context>, [">= 0"])
|
50
|
-
s.add_development_dependency(%q<webmock>, [">= 0"])
|
51
|
-
s.add_development_dependency(%q<redgreen>, [">= 0"])
|
52
50
|
else
|
53
51
|
s.add_dependency(%q<curb>, [">= 0"])
|
54
52
|
s.add_dependency(%q<bundler>, [">= 0"])
|
55
53
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
56
|
-
s.add_dependency(%q<test-unit>, [">= 0"])
|
57
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
58
|
-
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
59
|
-
s.add_dependency(%q<webmock>, [">= 0"])
|
60
|
-
s.add_dependency(%q<redgreen>, [">= 0"])
|
61
54
|
end
|
62
55
|
else
|
63
56
|
s.add_dependency(%q<curb>, [">= 0"])
|
64
57
|
s.add_dependency(%q<bundler>, [">= 0"])
|
65
58
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
66
|
-
s.add_dependency(%q<test-unit>, [">= 0"])
|
67
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
68
|
-
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
69
|
-
s.add_dependency(%q<webmock>, [">= 0"])
|
70
|
-
s.add_dependency(%q<redgreen>, [">= 0"])
|
71
59
|
end
|
72
60
|
end
|
73
61
|
|
data/lib/algolia/index.rb
CHANGED
@@ -24,6 +24,7 @@ module Algolia
|
|
24
24
|
# @param objectID (optional) an objectID you want to attribute to this object
|
25
25
|
# (if the attribute already exist the old object will be overwrite)
|
26
26
|
def add_object(obj, objectID = nil)
|
27
|
+
raise ArgumentError.new("argument must not be an array") if obj.is_a?(Array)
|
27
28
|
if objectID == nil
|
28
29
|
Algolia.client.post(Protocol.index_uri(name), obj.to_json)
|
29
30
|
else
|
@@ -50,8 +51,10 @@ module Algolia
|
|
50
51
|
# @param objectID (optional) an objectID you want to attribute to this object
|
51
52
|
# (if the attribute already exist the old object will be overwrite)
|
52
53
|
def add_objects(objs)
|
54
|
+
raise ArgumentError.new("argument must be an array of object") if !objs.is_a?(Array)
|
53
55
|
requests = []
|
54
56
|
objs.each do |obj|
|
57
|
+
raise ArgumentError.new("argument must be an array of object") if obj.is_a?(Array)
|
55
58
|
requests.push({"action" => "addObject", "body" => obj})
|
56
59
|
end
|
57
60
|
request = {"requests" => requests};
|
data/spec/client_spec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
2
|
+
|
3
|
+
describe 'Client' do
|
4
|
+
before(:all) do
|
5
|
+
@index = Algolia::Index.new("friends")
|
6
|
+
@index.delete rescue "not fatal"
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should add a simple object" do
|
10
|
+
@index.add_object!({ :name => "John Doe", :email => "john@doe.org" })
|
11
|
+
res = @index.search("john")
|
12
|
+
res["hits"].length.should eq(1)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should add a set of objects" do
|
16
|
+
@index.add_objects!([
|
17
|
+
{ :name => "Another", :email => "another1@example.org" },
|
18
|
+
{ :name => "Another", :email => "another2@example.org" }
|
19
|
+
])
|
20
|
+
res = @index.search("another")
|
21
|
+
res["hits"].length.should eq(2)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should throw an exception if invalid argument" do
|
25
|
+
expect { @index.add_object!([ {:name => "test"} ]) }.to raise_error(ArgumentError)
|
26
|
+
expect { @index.add_objects!([ [ {:name => "test"} ] ]) }.to raise_error(ArgumentError)
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
Bundler.setup :test
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
5
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
6
|
+
|
7
|
+
require 'algoliasearch'
|
8
|
+
require 'rspec'
|
9
|
+
|
10
|
+
raise "missing ALGOLIA_APPLICATION_ID or ALGOLIA_API_KEY environment variables" if ENV['ALGOLIA_APPLICATION_ID'].nil? || ENV['ALGOLIA_API_KEY'].nil?
|
11
|
+
Algolia.init :application_id => ENV['ALGOLIA_APPLICATION_ID'], :api_key => ENV['ALGOLIA_API_KEY']
|
12
|
+
|
13
|
+
RSpec.configure do |c|
|
14
|
+
c.mock_with :rspec
|
15
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: algoliasearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Algolia
|
@@ -52,76 +52,6 @@ dependencies:
|
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: test-unit
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: shoulda-context
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - '>='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: webmock
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: redgreen
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
55
|
description: A simple Ruby client for the algolia.com REST API
|
126
56
|
email: contact@algolia.com
|
127
57
|
executables: []
|
@@ -130,6 +60,7 @@ extra_rdoc_files:
|
|
130
60
|
- LICENSE.txt
|
131
61
|
- README.md
|
132
62
|
files:
|
63
|
+
- .rspec
|
133
64
|
- Gemfile
|
134
65
|
- Gemfile.lock
|
135
66
|
- LICENSE.txt
|
@@ -143,6 +74,8 @@ files:
|
|
143
74
|
- lib/algolia/index.rb
|
144
75
|
- lib/algolia/protocol.rb
|
145
76
|
- lib/algoliasearch.rb
|
77
|
+
- spec/client_spec.rb
|
78
|
+
- spec/spec_helper.rb
|
146
79
|
homepage: http://github.com/algolia/algoliasearch-client-ruby
|
147
80
|
licenses:
|
148
81
|
- MIT
|