ashikawa-core 0.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.
@@ -0,0 +1,34 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+
4
+ require "rest-client"
5
+ require "json"
6
+ require "ashikawa-core"
7
+
8
+ RSpec.configure do |config|
9
+ raise "Could not find arangod. Please install it or check if it is in your path." if `which arangod` == ""
10
+
11
+ database_directory = "/tmp/ashikawa-integration"
12
+ arango_process = false
13
+
14
+ config.before(:suite) do
15
+ puts "Starting ArangoDB"
16
+ process_id = $$
17
+
18
+ Dir.mkdir database_directory unless Dir.exists? database_directory
19
+ arango_process = IO.popen("arangod #{database_directory} --watch-process #{process_id}")
20
+
21
+ sleep 2 # Wait for Arango to start up
22
+ end
23
+
24
+ config.after(:suite) do
25
+ puts
26
+ puts "Shutting down ArangoDB"
27
+
28
+ Process.kill "INT", arango_process.pid
29
+ sleep 2 # Wait for Arango to shut down
30
+ arango_process.close
31
+
32
+ `rm -r #{database_directory}/*`
33
+ end
34
+ end
@@ -0,0 +1,228 @@
1
+ require 'unit/spec_helper'
2
+ require 'ashikawa-core/collection'
3
+
4
+ describe Ashikawa::Core::Collection do
5
+ subject { Ashikawa::Core::Collection }
6
+
7
+ before :each do
8
+ @database = double()
9
+ end
10
+
11
+ it "should have a name" do
12
+ my_collection = subject.new @database, server_response("/collections/4588")
13
+ my_collection.name.should == "example_1"
14
+ end
15
+
16
+ it "should accept an ID" do
17
+ my_collection = subject.new @database, server_response("/collections/4588")
18
+ my_collection.id.should == 4588
19
+ end
20
+
21
+ describe "the status code" do
22
+ it "should know if the collection is new born" do
23
+ my_collection = subject.new @database, { "status" => "1" }
24
+ my_collection.new_born?.should == true
25
+
26
+ my_collection = subject.new @database, { "status" => "200" }
27
+ my_collection.new_born?.should == false
28
+ end
29
+
30
+ it "should know if the collection is unloaded" do
31
+ my_collection = subject.new @database, { "status" => "2" }
32
+ my_collection.unloaded?.should == true
33
+
34
+ my_collection = subject.new @database, { "status" => "200" }
35
+ my_collection.unloaded?.should == false
36
+ end
37
+
38
+ it "should know if the collection is loaded" do
39
+ my_collection = subject.new @database, { "status" => "3" }
40
+ my_collection.loaded?.should == true
41
+
42
+ my_collection = subject.new @database, { "status" => "200" }
43
+ my_collection.loaded?.should == false
44
+ end
45
+
46
+ it "should know if the collection is being unloaded" do
47
+ my_collection = subject.new @database, { "status" => "4" }
48
+ my_collection.being_unloaded?.should == true
49
+
50
+ my_collection = subject.new @database, { "status" => "200" }
51
+ my_collection.being_unloaded?.should == false
52
+ end
53
+
54
+ it "should know if the collection is corrupted" do
55
+ my_collection = subject.new @database, { "status" => "6" }
56
+ my_collection.corrupted?.should == true
57
+ end
58
+ end
59
+
60
+ describe "attributes of a collection" do
61
+ it "should check if the collection waits for sync" do
62
+ @database.stub(:send_request).with("/collection/4590/properties").and_return { server_response("/collections/4590") }
63
+ @database.should_receive(:send_request).with("/collection/4590/properties")
64
+
65
+ my_collection = subject.new @database, { "id" => "4590" }
66
+ my_collection.wait_for_sync?.should be_true
67
+ end
68
+
69
+ it "should know how many documents the collection has" do
70
+ @database.stub(:send_request).with("/collection/4590/count").and_return { server_response("/collections/4590-properties") }
71
+ @database.should_receive(:send_request).with("/collection/4590/count")
72
+
73
+ my_collection = subject.new @database, { "id" => "4590" }
74
+ my_collection.length.should == 54
75
+ end
76
+
77
+ it "should check for the figures" do
78
+ @database.stub(:send_request).with("/collection/73482/figures").and_return { server_response("/collections/73482-figures") }
79
+ @database.should_receive(:send_request).with("/collection/73482/figures")
80
+
81
+ my_collection = subject.new @database, { "id" => "73482" }
82
+ my_collection.figure(:datafiles_count).should == 1
83
+ my_collection.figure(:alive_size).should == 0
84
+ my_collection.figure(:alive_count).should == 0
85
+ my_collection.figure(:dead_size).should == 2384
86
+ my_collection.figure(:dead_count).should == 149
87
+ end
88
+ end
89
+
90
+ describe "an initialized collection" do
91
+ subject { Ashikawa::Core::Collection.new @database, { "id" => "4590", "name" => "example_1" } }
92
+
93
+ it "should get deleted" do
94
+ @database.stub(:send_request).with("/collection/4590", delete: {})
95
+ @database.should_receive(:send_request).with("/collection/4590", delete: {})
96
+
97
+ subject.delete
98
+ end
99
+
100
+ it "should get loaded" do
101
+ @database.stub(:send_request).with("/collection/4590/load", put: {})
102
+ @database.should_receive(:send_request).with("/collection/4590/load", put: {})
103
+
104
+ subject.load
105
+ end
106
+
107
+ it "should get unloaded" do
108
+ @database.stub(:send_request).with("/collection/4590/unload", put: {})
109
+ @database.should_receive(:send_request).with("/collection/4590/unload", put: {})
110
+
111
+ subject.unload
112
+ end
113
+
114
+ it "should get truncated" do
115
+ @database.stub(:send_request).with("/collection/4590/truncate", put: {})
116
+ @database.should_receive(:send_request).with("/collection/4590/truncate", put: {})
117
+
118
+ subject.truncate!
119
+ end
120
+
121
+ it "should change if it waits for sync" do
122
+ @database.stub(:send_request).with("/collection/4590/properties", put: {"waitForSync" => true})
123
+ @database.should_receive(:send_request).with("/collection/4590/properties", put: {"waitForSync" => true})
124
+
125
+ subject.wait_for_sync = true
126
+ end
127
+
128
+ it "should change its name" do
129
+ @database.stub(:send_request).with("/collection/4590/rename", put: {"name" => "my_new_name"})
130
+ @database.should_receive(:send_request).with("/collection/4590/rename", put: {"name" => "my_new_name"})
131
+
132
+ subject.name = "my_new_name"
133
+ end
134
+
135
+ describe "working with documents" do
136
+
137
+ describe "list all" do
138
+ it "should list all documents" do
139
+ @database.stub(:send_request).with("/simple/all", put: {"collection" => "example_1"}).and_return { server_response('simple-queries/all') }
140
+ @database.should_receive(:send_request).with("/simple/all", put: {"collection" => "example_1"})
141
+
142
+ # Documents need to get initialized:
143
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
144
+ Ashikawa::Core::Document.should_receive(:new).with("12346/3872", 3872)
145
+
146
+ subject.all
147
+ end
148
+
149
+ it "should limit to a certain amount" do
150
+ @database.stub(:send_request).with("/simple/all", put: {"collection" => "example_1", "limit" => 1}).and_return { server_response('simple-queries/all_skip') }
151
+ @database.should_receive(:send_request).with("/simple/all", put: {"collection" => "example_1", "limit" => 1})
152
+
153
+ Ashikawa::Core::Document.should_receive(:new).with("12346/3872", 3872)
154
+
155
+ subject.all :limit => 1
156
+ end
157
+
158
+ it "should skip documents" do
159
+ @database.stub(:send_request).with("/simple/all", put: {"collection" => "example_1", "skip" => 1}).and_return { server_response('simple-queries/all_limit') }
160
+ @database.should_receive(:send_request).with("/simple/all", put: {"collection" => "example_1", "skip" => 1})
161
+
162
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
163
+
164
+ subject.all :skip => 1
165
+ end
166
+ end
167
+
168
+ describe "by example" do
169
+ before(:each) do
170
+ @search_params = { :hello => "world" }
171
+ end
172
+
173
+ it "should find documents by example" do
174
+ @database.stub(:send_request).with("/simple/by-example", put: {"collection" => "example_1", "example" => { :hello => "world"}}).and_return { server_response('simple-queries/example') }
175
+ @database.should_receive(:send_request).with("/simple/by-example", put: {"collection" => "example_1", "example" => { :hello => "world"}})
176
+
177
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
178
+
179
+ subject.by_example(@search_params)
180
+ end
181
+
182
+ it "should skip documents" do
183
+ @database.stub(:send_request).with("/simple/by-example", put: {"collection" => "example_1", "skip" => 1, "example" => { :hello => "world"}}).and_return { server_response('simple-queries/example') }
184
+ @database.should_receive(:send_request).with("/simple/by-example", put: {"collection" => "example_1", "skip" => 1, "example" => { :hello => "world"}})
185
+
186
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
187
+
188
+ subject.by_example @search_params, :skip => 1
189
+ end
190
+
191
+ it "should limit documents" do
192
+ @database.stub(:send_request).with("/simple/by-example", put: {"collection" => "example_1", "limit" => 2, "example" => { :hello => "world"}}).and_return { server_response('simple-queries/example') }
193
+ @database.should_receive(:send_request).with("/simple/by-example", put: {"collection" => "example_1", "limit" => 2, "example" => { :hello => "world"}})
194
+
195
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
196
+
197
+ subject.by_example @search_params, :limit => 2
198
+ end
199
+
200
+ end
201
+
202
+ describe "near" do
203
+ it "should look for documents based on latitude/longitude" do
204
+ @database.stub(:send_request).with("/simple/near", put: { "collection" => "example_1", "latitude" => 0, "longitude" => 0 }).and_return { server_response('simple-queries/near') }
205
+ @database.should_receive(:send_request).with("/simple/near", put: { "collection" => "example_1", "latitude" => 0, "longitude" => 0 })
206
+
207
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
208
+ Ashikawa::Core::Document.should_receive(:new).with("12346/2938", 2938)
209
+ Ashikawa::Core::Document.should_receive(:new).with("12347/23737", 23737)
210
+
211
+ subject.near :latitude => 0, :longitude => 0
212
+ end
213
+ end
214
+
215
+ describe "within" do
216
+ it "should look for documents within a certain radius" do
217
+ @database.stub(:send_request).with("/simple/within", put: { "collection" => "example_1", "latitude" => 0, "longitude" => 0, "radius" => 2 }).and_return { server_response('simple-queries/within') }
218
+ @database.should_receive(:send_request).with("/simple/within" , put: { "collection" => "example_1", "latitude" => 0, "longitude" => 0, "radius" => 2 })
219
+
220
+ Ashikawa::Core::Document.should_receive(:new).with("12345/57463", 57463)
221
+
222
+ subject.within :latitude => 0, :longitude => 0, :radius => 2
223
+ end
224
+ end
225
+
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,55 @@
1
+ require 'unit/spec_helper'
2
+ require 'ashikawa-core/connection'
3
+
4
+ describe Ashikawa::Core::Connection do
5
+ subject { Ashikawa::Core::Connection }
6
+
7
+ it "should have an IP and port" do
8
+ connection = subject.new "http://localhost:8529"
9
+
10
+ connection.ip.should == "http://localhost"
11
+ connection.port.should == 8529
12
+ end
13
+
14
+ describe "initialized connection" do
15
+ subject { Ashikawa::Core::Connection.new "http://localhost:8529" }
16
+
17
+ it "should send a get request" do
18
+ stub_request(:get, "http://localhost:8529/_api/my/path").to_return body: '{ "name": "dude" }'
19
+
20
+ subject.send_request "/my/path"
21
+
22
+ WebMock.should have_requested(:get, "http://localhost:8529/_api/my/path")
23
+ end
24
+
25
+ it "should send a post request" do
26
+ stub_request(:post, "http://localhost:8529/_api/my/path").with(:body => '{"name":"new_collection"}').to_return body: '{ "name": "dude" }'
27
+
28
+ subject.send_request "/my/path", post: { :name => 'new_collection' }
29
+
30
+ WebMock.should have_requested(:post, "http://localhost:8529/_api/my/path").with :body => '{"name":"new_collection"}'
31
+ end
32
+
33
+ it "should send a put request" do
34
+ stub_request(:put, "http://localhost:8529/_api/my/path").with(:body => '{"name":"new_collection"}').to_return body: '{ "name": "dude" }'
35
+
36
+ subject.send_request "/my/path", put: { :name => 'new_collection' }
37
+
38
+ WebMock.should have_requested(:put, "http://localhost:8529/_api/my/path").with :body => '{"name":"new_collection"}'
39
+ end
40
+
41
+ it "should send a delete request" do
42
+ stub_request(:delete, "http://localhost:8529/_api/my/path").to_return body: '{ "name": "dude" }'
43
+
44
+ subject.send_request "/my/path", delete: { }
45
+
46
+ WebMock.should have_requested(:delete, "http://localhost:8529/_api/my/path")
47
+ end
48
+
49
+ it "should parse JSON" do
50
+ stub_request(:get, "http://localhost:8529/_api/my/path").to_return body: '{ "name": "dude" }'
51
+
52
+ subject.send_request("/my/path").should == {"name" => "dude"}
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,73 @@
1
+ require 'unit/spec_helper'
2
+ require 'ashikawa-core/database'
3
+
4
+ describe Ashikawa::Core::Database do
5
+ subject { Ashikawa::Core::Database }
6
+
7
+ before :each do
8
+ mock(Ashikawa::Core::Connection)
9
+ mock(Ashikawa::Core::Collection)
10
+ @connection = double()
11
+ end
12
+
13
+ it "should initialize with a connection" do
14
+ @connection.stub(:ip) { "http://localhost" }
15
+ @connection.stub(:port) { 8529 }
16
+
17
+ database = subject.new @connection
18
+ database.ip.should == "http://localhost"
19
+ database.port.should == 8529
20
+ end
21
+
22
+ it "should initialize with a connection string" do
23
+ Ashikawa::Core::Connection.stub(:new).with("http://localhost:8529").and_return(double())
24
+ Ashikawa::Core::Connection.should_receive(:new).with("http://localhost:8529")
25
+
26
+ database = subject.new "http://localhost:8529"
27
+ end
28
+
29
+ describe "initialized database" do
30
+ subject { Ashikawa::Core::Database.new @connection }
31
+
32
+ it "should fetch all available collections" do
33
+ @connection.stub(:send_request) {|path| server_response("collections/all") }
34
+ @connection.should_receive(:send_request).with("/collection")
35
+
36
+ Ashikawa::Core::Collection.should_receive(:new).with(subject, server_response("/collections/all")["collections"][0])
37
+ Ashikawa::Core::Collection.should_receive(:new).with(subject, server_response("/collections/all")["collections"][1])
38
+
39
+ subject.collections.length.should == 2
40
+ end
41
+
42
+ it "should fetch a single collection if it exists" do
43
+ @connection.stub(:send_request) { |path| server_response("collections/4588") }
44
+ @connection.should_receive(:send_request).with("/collection/4588")
45
+
46
+ Ashikawa::Core::Collection.should_receive(:new).with(subject, server_response("/collections/4588"))
47
+
48
+ subject[4588]
49
+ end
50
+
51
+ it "should create a single collection if it doesn't exist" do
52
+ @connection.stub :send_request do |path, method = {}|
53
+ if method.has_key? :post
54
+ server_response("collections/4590")
55
+ else
56
+ raise RestClient::ResourceNotFound
57
+ end
58
+ end
59
+ @connection.should_receive(:send_request).with("/collection/new_collection")
60
+ @connection.should_receive(:send_request).with("/collection", post: { name: "new_collection"} )
61
+
62
+ Ashikawa::Core::Collection.should_receive(:new).with(subject, server_response("/collections/4590"))
63
+
64
+ subject['new_collection']
65
+ end
66
+
67
+ it "should send a request via the connection object" do
68
+ @connection.should_receive(:send_request).with("/my/path", post: { data: "mydata" })
69
+
70
+ subject.send_request "/my/path", post: { data: "mydata" }
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,13 @@
1
+ require 'unit/spec_helper'
2
+ require 'ashikawa-core/document'
3
+
4
+ describe Ashikawa::Core::Document do
5
+ subject { Ashikawa::Core::Document }
6
+
7
+ it "should initialize with an id and revision" do
8
+ document = subject.new "189990/1631782", 1631782
9
+ document.id.should == "189990/1631782"
10
+ document.revision.should == 1631782
11
+ end
12
+
13
+ end
@@ -0,0 +1,11 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+
4
+ # For HTTP Testing
5
+ require 'webmock/rspec'
6
+ require 'json'
7
+
8
+ # Helper to simulate Server Responses. Parses the fixtures in the spec folder
9
+ def server_response(path)
10
+ return JSON.parse(File.readlines("spec/fixtures/#{path}.json").join)
11
+ end
metadata ADDED
@@ -0,0 +1,199 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ashikawa-core
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - moonglum
9
+ - EinLama
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2012-08-21 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rest-client
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 1.6.7
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 1.6.7
31
+ - !ruby/object:Gem::Dependency
32
+ name: rake
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 0.9.2.2
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 0.9.2.2
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.11.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 2.11.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: yard
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: 0.8.2.1
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 0.8.2.1
79
+ - !ruby/object:Gem::Dependency
80
+ name: webmock
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: 1.8.9
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: 1.8.9
95
+ - !ruby/object:Gem::Dependency
96
+ name: redcarpet
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ version: 2.1.1
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 2.1.1
111
+ description: Ashikawa Core is a Wrapper around the ArangoDB Rest API. It provides
112
+ low level access and will be used in different ArangoDB ODMs.
113
+ email:
114
+ - me@moonglum.net
115
+ - tobias.eilert@me.com
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - .gitignore
121
+ - .rvmrc
122
+ - .travis.yml
123
+ - Gemfile
124
+ - README.md
125
+ - Rakefile
126
+ - ashikawa-core.gemspec
127
+ - lib/ashikawa-core.rb
128
+ - lib/ashikawa-core/collection.rb
129
+ - lib/ashikawa-core/connection.rb
130
+ - lib/ashikawa-core/database.rb
131
+ - lib/ashikawa-core/document.rb
132
+ - lib/ashikawa-core/version.rb
133
+ - spec/fixtures/collections/4588.json
134
+ - spec/fixtures/collections/4590-properties.json
135
+ - spec/fixtures/collections/4590.json
136
+ - spec/fixtures/collections/73482-figures.json
137
+ - spec/fixtures/collections/all.json
138
+ - spec/fixtures/collections/not_found.json
139
+ - spec/fixtures/documents/4590-333.json
140
+ - spec/fixtures/simple-queries/all.json
141
+ - spec/fixtures/simple-queries/all_limit.json
142
+ - spec/fixtures/simple-queries/all_skip.json
143
+ - spec/fixtures/simple-queries/example.json
144
+ - spec/fixtures/simple-queries/near.json
145
+ - spec/fixtures/simple-queries/within.json
146
+ - spec/integration/basic_spec.rb
147
+ - spec/integration/spec_helper.rb
148
+ - spec/unit/collection_spec.rb
149
+ - spec/unit/connection_spec.rb
150
+ - spec/unit/database_spec.rb
151
+ - spec/unit/document_spec.rb
152
+ - spec/unit/spec_helper.rb
153
+ homepage: ''
154
+ licenses: []
155
+ post_install_message:
156
+ rdoc_options: []
157
+ require_paths:
158
+ - lib
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: 1.9.2
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ! '>='
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
171
+ requirements:
172
+ - ArangoDB
173
+ rubyforge_project: ashikawa-core
174
+ rubygems_version: 1.8.24
175
+ signing_key:
176
+ specification_version: 3
177
+ summary: Ashikawa Core is a Wrapper around the ArangoDB Rest API
178
+ test_files:
179
+ - spec/fixtures/collections/4588.json
180
+ - spec/fixtures/collections/4590-properties.json
181
+ - spec/fixtures/collections/4590.json
182
+ - spec/fixtures/collections/73482-figures.json
183
+ - spec/fixtures/collections/all.json
184
+ - spec/fixtures/collections/not_found.json
185
+ - spec/fixtures/documents/4590-333.json
186
+ - spec/fixtures/simple-queries/all.json
187
+ - spec/fixtures/simple-queries/all_limit.json
188
+ - spec/fixtures/simple-queries/all_skip.json
189
+ - spec/fixtures/simple-queries/example.json
190
+ - spec/fixtures/simple-queries/near.json
191
+ - spec/fixtures/simple-queries/within.json
192
+ - spec/integration/basic_spec.rb
193
+ - spec/integration/spec_helper.rb
194
+ - spec/unit/collection_spec.rb
195
+ - spec/unit/connection_spec.rb
196
+ - spec/unit/database_spec.rb
197
+ - spec/unit/document_spec.rb
198
+ - spec/unit/spec_helper.rb
199
+ has_rdoc: