algoliasearch 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c145379f798d496330164e5642604b8922cbe13c
4
- data.tar.gz: f35c8286d93ff3ddd4cc711e4986de2b0ab94799
3
+ metadata.gz: b1673fe77906c67ae24f6f8beeb96c744df33a9c
4
+ data.tar.gz: cbdae006907dc974cc70d14c1827b03f11326523
5
5
  SHA512:
6
- metadata.gz: 2d97e9777527d24920d9083c9a85e0e0226c4711ecf9a9159d54b0436c7f9f6be5796dbca83ddc672aa397eed1002647cfed3ba597876eb4425f3151be515219
7
- data.tar.gz: 6770a224524fed3eae61300e24e33bc44c98ce01d84de13dbf048a1b228550edd2c88424764552a1cab17bf3b665514143b7bce1dc8ebe28f73611499394da35
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
- # Add dependencies to develop your gem here.
4
- # Include everything needed to run rake, tests, features, etc.
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
- gem "curb"
10
+ group :test do
11
+ gem 'rspec'
12
+ gem 'autotest'
13
+ gem 'autotest-fsevent'
14
+ gem 'redgreen'
15
+ gem 'autotest-growl'
16
+ end
@@ -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
- safe_yaml (0.9.7)
60
- shoulda-context (1.1.5)
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.1.2
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "algoliasearch"
8
- s.version = "1.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
 
@@ -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};
@@ -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
@@ -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.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