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 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