ashikawa-core 0.7.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +0 -4
- data/Gemfile +1 -1
- data/Gemfile.devtools +24 -18
- data/README.md +6 -11
- data/ashikawa-core.gemspec +7 -6
- data/config/flay.yml +2 -2
- data/config/flog.yml +2 -1
- data/config/reek.yml +68 -84
- data/config/rubocop.yml +99 -0
- data/config/yardstick.yml +1 -1
- data/lib/ashikawa-core/collection.rb +74 -21
- data/lib/ashikawa-core/configuration.rb +26 -0
- data/lib/ashikawa-core/connection.rb +5 -2
- data/lib/ashikawa-core/cursor.rb +28 -16
- data/lib/ashikawa-core/database.rb +89 -12
- data/lib/ashikawa-core/document.rb +32 -5
- data/lib/ashikawa-core/edge.rb +3 -0
- data/lib/ashikawa-core/exceptions/client_error.rb +3 -3
- data/lib/ashikawa-core/exceptions/server_error.rb +3 -3
- data/lib/ashikawa-core/figure.rb +17 -5
- data/lib/ashikawa-core/index.rb +4 -0
- data/lib/ashikawa-core/key_options.rb +54 -0
- data/lib/ashikawa-core/query.rb +39 -74
- data/lib/ashikawa-core/request_preprocessor.rb +2 -2
- data/lib/ashikawa-core/response_preprocessor.rb +21 -12
- data/lib/ashikawa-core/transaction.rb +113 -0
- data/lib/ashikawa-core/version.rb +1 -1
- data/spec/acceptance/basic_spec.rb +40 -12
- data/spec/acceptance/index_spec.rb +2 -1
- data/spec/acceptance/query_spec.rb +18 -17
- data/spec/acceptance/transactions_spec.rb +30 -0
- data/spec/fixtures/collections/all.json +90 -30
- data/spec/fixtures/cursor/edges.json +23 -0
- data/spec/setup/arangodb.sh +7 -6
- data/spec/unit/collection_spec.rb +89 -13
- data/spec/unit/connection_spec.rb +23 -14
- data/spec/unit/cursor_spec.rb +15 -4
- data/spec/unit/database_spec.rb +58 -17
- data/spec/unit/document_spec.rb +24 -4
- data/spec/unit/edge_spec.rb +1 -1
- data/spec/unit/exception_spec.rb +4 -2
- data/spec/unit/figure_spec.rb +17 -10
- data/spec/unit/index_spec.rb +1 -1
- data/spec/unit/key_options_spec.rb +25 -0
- data/spec/unit/query_spec.rb +1 -1
- data/spec/unit/spec_helper.rb +20 -2
- data/spec/unit/transaction_spec.rb +153 -0
- data/tasks/adjustments.rake +23 -14
- metadata +31 -41
- data/.rvmrc +0 -1
- data/config/roodi.yml +0 -17
- data/spec/spec_helper.rb +0 -27
data/spec/unit/document_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'unit/spec_helper'
|
|
2
2
|
require 'ashikawa-core/document'
|
3
3
|
|
4
4
|
describe Ashikawa::Core::Document do
|
5
|
-
let(:database) { double
|
5
|
+
let(:database) { double }
|
6
6
|
let(:raw_data) {
|
7
7
|
{
|
8
8
|
"_id" => "1234567/2345678",
|
@@ -29,8 +29,8 @@ describe Ashikawa::Core::Document do
|
|
29
29
|
|
30
30
|
it "should initialize data without ID" do
|
31
31
|
document = subject.new database, raw_data_without_id
|
32
|
-
document.id.should ==
|
33
|
-
document.revision.should ==
|
32
|
+
document.id.should == :not_persisted
|
33
|
+
document.revision.should == :not_persisted
|
34
34
|
end
|
35
35
|
|
36
36
|
describe "initialized document with ID" do
|
@@ -62,10 +62,20 @@ describe Ashikawa::Core::Document do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it "should be convertable to a hash" do
|
65
|
-
hash = subject.
|
65
|
+
hash = subject.hash
|
66
66
|
hash.should be_instance_of Hash
|
67
67
|
hash["first_name"].should == subject["first_name"]
|
68
68
|
end
|
69
|
+
|
70
|
+
it "should be refreshable" do
|
71
|
+
database.should_receive(:send_request).with("document/#{raw_data['_id']}", {}).and_return {
|
72
|
+
{ "name" => "Jeff" }
|
73
|
+
}
|
74
|
+
|
75
|
+
refreshed_subject = subject.refresh!
|
76
|
+
refreshed_subject.should == subject
|
77
|
+
subject["name"].should == "Jeff"
|
78
|
+
end
|
69
79
|
end
|
70
80
|
|
71
81
|
describe "initialized document without ID" do
|
@@ -89,4 +99,14 @@ describe Ashikawa::Core::Document do
|
|
89
99
|
expect { subject.save }.to raise_error Ashikawa::Core::DocumentNotFoundException
|
90
100
|
end
|
91
101
|
end
|
102
|
+
|
103
|
+
describe "Deprecated methods" do
|
104
|
+
subject { Ashikawa::Core::Document.new database, raw_data_without_id }
|
105
|
+
|
106
|
+
it "should mark `to_hash` as deprecated" do
|
107
|
+
subject.should_receive(:hash)
|
108
|
+
subject.should_receive(:warn).with("`to_hash` is deprecated, please use `hash`")
|
109
|
+
subject.to_hash
|
110
|
+
end
|
111
|
+
end
|
92
112
|
end
|
data/spec/unit/edge_spec.rb
CHANGED
data/spec/unit/exception_spec.rb
CHANGED
@@ -15,8 +15,9 @@ describe Ashikawa::Core::NoCollectionProvidedException do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
describe Ashikawa::Core::ClientError do
|
18
|
+
let(:error_message) { "error message" }
|
18
19
|
it "should have a good explanation" do
|
19
|
-
Ashikawa::Core::ClientError.new(
|
20
|
+
Ashikawa::Core::ClientError.new(error_message).to_s.should == error_message
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
@@ -51,8 +52,9 @@ describe Ashikawa::Core::IndexNotFoundException do
|
|
51
52
|
end
|
52
53
|
|
53
54
|
describe Ashikawa::Core::ServerError do
|
55
|
+
let(:error_message) { "error message" }
|
54
56
|
it "should have a good explanation" do
|
55
|
-
Ashikawa::Core::ServerError.new(
|
57
|
+
Ashikawa::Core::ServerError.new(error_message).to_s.should == error_message
|
56
58
|
end
|
57
59
|
end
|
58
60
|
|
data/spec/unit/figure_spec.rb
CHANGED
@@ -22,33 +22,40 @@ describe Ashikawa::Core::Figure do
|
|
22
22
|
},
|
23
23
|
"shapes" => {
|
24
24
|
"count" => 2
|
25
|
+
},
|
26
|
+
"attributes" => {
|
27
|
+
"count" => 12
|
25
28
|
}
|
26
29
|
}
|
27
30
|
}
|
28
31
|
subject { Ashikawa::Core::Figure.new(raw_figures) }
|
29
32
|
|
30
33
|
it "should check for the alive figures" do
|
31
|
-
|
32
|
-
|
34
|
+
subject.alive_size.should == 0
|
35
|
+
subject.alive_count.should == 0
|
33
36
|
end
|
34
37
|
|
35
38
|
it "should check for the dead figures" do
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
+
subject.dead_size.should == 2384
|
40
|
+
subject.dead_count.should == 149
|
41
|
+
subject.dead_deletion.should == 0
|
39
42
|
end
|
40
43
|
|
41
44
|
it "should check for the datafiles figures" do
|
42
|
-
|
43
|
-
|
45
|
+
subject.datafiles_count.should == 1
|
46
|
+
subject.datafiles_file_size.should == 124
|
44
47
|
end
|
45
48
|
|
46
49
|
it "should check for the journal figures" do
|
47
|
-
|
48
|
-
|
50
|
+
subject.journals_count.should == 1
|
51
|
+
subject.journals_file_size.should == 124
|
49
52
|
end
|
50
53
|
|
51
54
|
it "should check for the shapes figure" do
|
52
|
-
|
55
|
+
subject.shapes_count.should == 2
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should check for the attributes_count figure" do
|
59
|
+
subject.attributes_count.should == 12
|
53
60
|
end
|
54
61
|
end
|
data/spec/unit/index_spec.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'unit/spec_helper'
|
2
|
+
require 'ashikawa-core/key_options'
|
3
|
+
|
4
|
+
describe Ashikawa::Core::KeyOptions do
|
5
|
+
subject { Ashikawa::Core::KeyOptions }
|
6
|
+
|
7
|
+
it "should parse the key options" do
|
8
|
+
type = double
|
9
|
+
offset = double
|
10
|
+
increment = double
|
11
|
+
allow_user_keys = double
|
12
|
+
|
13
|
+
key_options = subject.new({
|
14
|
+
"type" => type,
|
15
|
+
"offset" => offset,
|
16
|
+
"increment" => increment,
|
17
|
+
"allowUserKeys" => allow_user_keys
|
18
|
+
})
|
19
|
+
|
20
|
+
key_options.type.should == type
|
21
|
+
key_options.offset.should == offset
|
22
|
+
key_options.increment.should == increment
|
23
|
+
key_options.allow_user_keys.should == allow_user_keys
|
24
|
+
end
|
25
|
+
end
|
data/spec/unit/query_spec.rb
CHANGED
@@ -52,7 +52,7 @@ describe Ashikawa::Core::Query do
|
|
52
52
|
collection.should_receive(:send_request).with("simple/first-example", :put =>
|
53
53
|
{"collection" => "example_1", "example" => { :hello => "world"}})
|
54
54
|
|
55
|
-
Ashikawa::Core::
|
55
|
+
Ashikawa::Core::Document.should_receive(:new)
|
56
56
|
|
57
57
|
subject.first_example example
|
58
58
|
end
|
data/spec/unit/spec_helper.rb
CHANGED
@@ -1,10 +1,28 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
3
|
|
4
|
+
# Do not run SimpleCov in Guard
|
5
|
+
unless defined?(Guard)
|
6
|
+
require 'simplecov'
|
7
|
+
require 'coveralls'
|
8
|
+
|
9
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
10
|
+
SimpleCov::Formatter::HTMLFormatter,
|
11
|
+
Coveralls::SimpleCov::Formatter
|
12
|
+
]
|
13
|
+
|
14
|
+
SimpleCov.start do
|
15
|
+
command_name 'spec:unit'
|
16
|
+
add_filter 'config'
|
17
|
+
add_filter 'spec'
|
18
|
+
minimum_coverage 99
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
4
22
|
# Helper to simulate Server Responses. Parses the fixtures in the spec folder
|
5
|
-
require
|
23
|
+
require "json"
|
6
24
|
def server_response(path)
|
7
|
-
|
25
|
+
JSON.parse(File.readlines("spec/fixtures/#{path}.json").join)
|
8
26
|
end
|
9
27
|
|
10
28
|
ARANGO_HOST = "http://localhost:8529"
|
@@ -0,0 +1,153 @@
|
|
1
|
+
require 'unit/spec_helper'
|
2
|
+
require 'ashikawa-core/transaction'
|
3
|
+
|
4
|
+
describe Ashikawa::Core::Transaction do
|
5
|
+
let(:db) { double }
|
6
|
+
let(:action) { double }
|
7
|
+
|
8
|
+
describe "creating a transaction" do
|
9
|
+
subject { Ashikawa::Core::Transaction }
|
10
|
+
|
11
|
+
it "should be initialized with only write collections" do
|
12
|
+
transaction = subject.new(db, action, :write => [
|
13
|
+
"collection_1"
|
14
|
+
])
|
15
|
+
|
16
|
+
transaction.write_collections.should == ["collection_1"]
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should be initialized with only read collections" do
|
20
|
+
transaction = subject.new(db, action, :read => [
|
21
|
+
"collection_1"
|
22
|
+
])
|
23
|
+
|
24
|
+
transaction.read_collections.should == ["collection_1"]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "using a transaction" do
|
29
|
+
let(:read_and_write_collections) do
|
30
|
+
{ :read => ["collection_1"], :write => ["collection_2"] }
|
31
|
+
end
|
32
|
+
|
33
|
+
let(:only_read_collection) do
|
34
|
+
{ :read => ["collection_1"] }
|
35
|
+
end
|
36
|
+
|
37
|
+
let(:only_write_collection) do
|
38
|
+
{ :write => ["collection_1"] }
|
39
|
+
end
|
40
|
+
|
41
|
+
subject { Ashikawa::Core::Transaction.new(db, action, read_and_write_collections) }
|
42
|
+
|
43
|
+
it "should be possible to activate waiting for sync" do
|
44
|
+
subject.wait_for_sync.should == false
|
45
|
+
subject.wait_for_sync = true
|
46
|
+
subject.wait_for_sync.should == true
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should be possible to set the lock timeout" do
|
50
|
+
subject.lock_timeout.should == nil
|
51
|
+
subject.lock_timeout = 30
|
52
|
+
subject.lock_timeout.should == 30
|
53
|
+
end
|
54
|
+
|
55
|
+
describe "execute" do
|
56
|
+
let(:response) { double }
|
57
|
+
let(:result) { double }
|
58
|
+
let(:wait_for_sync) { double }
|
59
|
+
let(:lock_timeout) { double }
|
60
|
+
let(:action_params) { double }
|
61
|
+
|
62
|
+
before {
|
63
|
+
response.stub(:[])
|
64
|
+
db.stub(:send_request).and_return { response }
|
65
|
+
}
|
66
|
+
|
67
|
+
it "should return the result from the database" do
|
68
|
+
response.should_receive(:[]).with("result").and_return { result }
|
69
|
+
db.should_receive(:send_request).and_return { response }
|
70
|
+
subject.execute.should == result
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should post to `transaction` endpoint" do
|
74
|
+
db.should_receive(:send_request).with("transaction", :post => an_instance_of(Hash))
|
75
|
+
subject.execute
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should only send the read collection if no write collection was provided" do
|
79
|
+
transaction = Ashikawa::Core::Transaction.new(db, action, only_read_collection)
|
80
|
+
db.should_receive(:send_request).with(anything, {
|
81
|
+
:post => hash_including(:collections => only_read_collection)
|
82
|
+
})
|
83
|
+
transaction.execute
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should send the information about the read and write collections" do
|
87
|
+
db.should_receive(:send_request).with(anything, {
|
88
|
+
:post => hash_including(:collections => read_and_write_collections)
|
89
|
+
})
|
90
|
+
subject.execute
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should only send the write collection if no read collection was provided" do
|
94
|
+
transaction = Ashikawa::Core::Transaction.new(db, action, only_write_collection)
|
95
|
+
db.should_receive(:send_request).with(anything, {
|
96
|
+
:post => hash_including(:collections => only_write_collection)
|
97
|
+
})
|
98
|
+
transaction.execute
|
99
|
+
end
|
100
|
+
|
101
|
+
it "should send the information about the action" do
|
102
|
+
db.should_receive(:send_request).with(anything, {
|
103
|
+
:post => hash_including(:action => action)
|
104
|
+
})
|
105
|
+
subject.execute
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should send with wait for sync set to false by default" do
|
109
|
+
db.should_receive(:send_request).with(anything, {
|
110
|
+
:post => hash_including(:waitForSync => false)
|
111
|
+
})
|
112
|
+
subject.execute
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should send with wait for sync set to the value provided by the user" do
|
116
|
+
db.should_receive(:send_request).with(anything, {
|
117
|
+
:post => hash_including(:waitForSync => wait_for_sync)
|
118
|
+
})
|
119
|
+
subject.wait_for_sync = wait_for_sync
|
120
|
+
subject.execute
|
121
|
+
end
|
122
|
+
|
123
|
+
it "should not send lock timeout by default" do
|
124
|
+
db.should_receive(:send_request).with(anything, {
|
125
|
+
:post => hash_not_including(:lockTimeout => anything)
|
126
|
+
})
|
127
|
+
subject.execute
|
128
|
+
end
|
129
|
+
|
130
|
+
it "should send the configured lock timeout" do
|
131
|
+
db.should_receive(:send_request).with(anything, {
|
132
|
+
:post => hash_including(:lockTimeout => lock_timeout)
|
133
|
+
})
|
134
|
+
subject.lock_timeout = lock_timeout
|
135
|
+
subject.execute
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should send the arguments object if it was provided" do
|
139
|
+
db.should_receive(:send_request).with(anything, {
|
140
|
+
:post => hash_including(:params => action_params)
|
141
|
+
})
|
142
|
+
subject.execute(action_params)
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should not send params by default" do
|
146
|
+
db.should_receive(:send_request).with(anything, {
|
147
|
+
:post => hash_not_including(:params => anything)
|
148
|
+
})
|
149
|
+
subject.execute
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
data/tasks/adjustments.rake
CHANGED
@@ -1,32 +1,28 @@
|
|
1
|
-
# Remove some tasks defined by devtools to redefine them
|
2
|
-
|
3
|
-
Rake::Task["spec"].clear
|
4
|
-
Rake::Task["spec:integration"].clear
|
5
|
-
Rake::Task["ci:metrics"].clear
|
6
|
-
Rake::Task["ci"].clear
|
7
|
-
|
8
1
|
## Specs
|
9
2
|
# Difference to Devtools:
|
10
3
|
# * Acceptance, no integration tests
|
11
4
|
# * Special Case: ArangoDB needed for Acceptance Tests
|
12
5
|
|
6
|
+
Rake::Task["spec"].clear
|
7
|
+
Rake::Task["spec:integration"].clear
|
8
|
+
|
13
9
|
desc 'Run all specs'
|
14
10
|
task :spec => %w[ spec:unit spec:acceptance ]
|
15
11
|
|
16
12
|
namespace :spec do
|
17
13
|
desc "Run the acceptance tests. Requires ArangoDB to be running."
|
18
|
-
RSpec::Core::RakeTask.new(:
|
14
|
+
RSpec::Core::RakeTask.new(:acceptance) do |spec|
|
19
15
|
spec.pattern = "spec/acceptance/*_spec.rb"
|
20
16
|
end
|
21
17
|
|
22
18
|
desc "Run the acceptance tests. Requires ArangoDB."
|
23
|
-
RSpec::Core::RakeTask.new(:
|
19
|
+
RSpec::Core::RakeTask.new(:start_arango_and_run_acceptance) do |spec|
|
24
20
|
spec.rspec_opts = "--require acceptance/arango_helper.rb"
|
25
21
|
spec.pattern = "spec/acceptance/*_spec.rb"
|
26
22
|
end
|
27
23
|
|
28
24
|
desc "Run the authentication acceptance tests. Requires ArangoDB."
|
29
|
-
RSpec::Core::RakeTask.new(:
|
25
|
+
RSpec::Core::RakeTask.new(:start_arango_and_run_acceptance_auth) do |spec|
|
30
26
|
spec.rspec_opts = "--require acceptance_auth/arango_helper.rb"
|
31
27
|
spec.pattern = "spec/acceptance_auth/*_spec.rb"
|
32
28
|
end
|
@@ -34,13 +30,26 @@ end
|
|
34
30
|
|
35
31
|
## Metrics
|
36
32
|
# Differences to Devtools:
|
37
|
-
# * Do not run mutant
|
38
|
-
# *
|
33
|
+
# * Do not run mutant yet
|
34
|
+
# * metrics task only runs metrics (and not specs)
|
35
|
+
|
36
|
+
Rake::Task["ci"].clear
|
37
|
+
Rake::Task["ci:metrics"].clear
|
39
38
|
|
40
39
|
namespace :ci do
|
41
40
|
desc 'Run all metrics except mutant and reek'
|
42
|
-
task :metrics => %w[
|
41
|
+
task :metrics => %w[
|
42
|
+
metrics:coverage
|
43
|
+
metrics:yardstick:verify
|
44
|
+
metrics:rubocop
|
45
|
+
metrics:flog
|
46
|
+
metrics:flay
|
47
|
+
metrics:reek
|
48
|
+
]
|
43
49
|
end
|
44
50
|
|
45
51
|
desc 'Run all metrics and specs'
|
46
|
-
task :ci => %w[
|
52
|
+
task :ci => %w[
|
53
|
+
spec
|
54
|
+
ci:metrics
|
55
|
+
]
|
metadata
CHANGED
@@ -1,21 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ashikawa-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.8.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- moonglum
|
9
|
-
- EinLama
|
10
8
|
autorequire:
|
11
9
|
bindir: bin
|
12
10
|
cert_chain: []
|
13
|
-
date: 2013-
|
11
|
+
date: 2013-07-22 00:00:00.000000000 Z
|
14
12
|
dependencies:
|
15
13
|
- !ruby/object:Gem::Dependency
|
16
14
|
name: faraday
|
17
15
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
16
|
requirements:
|
20
17
|
- - ~>
|
21
18
|
- !ruby/object:Gem::Version
|
@@ -23,31 +20,27 @@ dependencies:
|
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
23
|
requirements:
|
28
24
|
- - ~>
|
29
25
|
- !ruby/object:Gem::Version
|
30
26
|
version: 0.8.6
|
31
27
|
- !ruby/object:Gem::Dependency
|
32
|
-
name:
|
28
|
+
name: json
|
33
29
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
30
|
requirements:
|
36
31
|
- - ~>
|
37
32
|
- !ruby/object:Gem::Version
|
38
|
-
version: 1.
|
33
|
+
version: 1.8.0
|
39
34
|
type: :runtime
|
40
35
|
prerelease: false
|
41
36
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
37
|
requirements:
|
44
38
|
- - ~>
|
45
39
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
40
|
+
version: 1.8.0
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
42
|
name: null_logger
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
44
|
requirements:
|
52
45
|
- - ~>
|
53
46
|
- !ruby/object:Gem::Version
|
@@ -55,45 +48,36 @@ dependencies:
|
|
55
48
|
type: :runtime
|
56
49
|
prerelease: false
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
51
|
requirements:
|
60
52
|
- - ~>
|
61
53
|
- !ruby/object:Gem::Version
|
62
54
|
version: 0.0.1
|
63
55
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
56
|
+
name: equalizer
|
65
57
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
58
|
requirements:
|
68
59
|
- - ~>
|
69
60
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
71
|
-
- - ! '>='
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 3.0.3
|
61
|
+
version: 0.0.5
|
74
62
|
type: :runtime
|
75
63
|
prerelease: false
|
76
64
|
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
none: false
|
78
65
|
requirements:
|
79
66
|
- - ~>
|
80
67
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
82
|
-
- - ! '>='
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 3.0.3
|
68
|
+
version: 0.0.5
|
85
69
|
description: Ashikawa Core is a wrapper around the ArangoDB REST API. It provides
|
86
70
|
low level access and will be used in different ArangoDB ODMs and other tools.
|
87
71
|
email:
|
88
72
|
- me@moonglum.net
|
89
|
-
- tobias.eilert@me.com
|
90
73
|
executables: []
|
91
74
|
extensions: []
|
92
75
|
extra_rdoc_files: []
|
93
76
|
files:
|
77
|
+
- .coveralls.yml
|
94
78
|
- .gitignore
|
95
79
|
- .rspec
|
96
|
-
- .
|
80
|
+
- .ruby-version
|
97
81
|
- .travis.yml
|
98
82
|
- CONTRIBUTING.md
|
99
83
|
- Gemfile
|
@@ -107,10 +91,11 @@ files:
|
|
107
91
|
- config/flog.yml
|
108
92
|
- config/mutant.yml
|
109
93
|
- config/reek.yml
|
110
|
-
- config/
|
94
|
+
- config/rubocop.yml
|
111
95
|
- config/yardstick.yml
|
112
96
|
- lib/ashikawa-core.rb
|
113
97
|
- lib/ashikawa-core/collection.rb
|
98
|
+
- lib/ashikawa-core/configuration.rb
|
114
99
|
- lib/ashikawa-core/connection.rb
|
115
100
|
- lib/ashikawa-core/cursor.rb
|
116
101
|
- lib/ashikawa-core/database.rb
|
@@ -127,16 +112,19 @@ files:
|
|
127
112
|
- lib/ashikawa-core/exceptions/server_error/json_error.rb
|
128
113
|
- lib/ashikawa-core/figure.rb
|
129
114
|
- lib/ashikawa-core/index.rb
|
115
|
+
- lib/ashikawa-core/key_options.rb
|
130
116
|
- lib/ashikawa-core/query.rb
|
131
117
|
- lib/ashikawa-core/request_preprocessor.rb
|
132
118
|
- lib/ashikawa-core/response_preprocessor.rb
|
133
119
|
- lib/ashikawa-core/status.rb
|
120
|
+
- lib/ashikawa-core/transaction.rb
|
134
121
|
- lib/ashikawa-core/version.rb
|
135
122
|
- spec/acceptance/arango_helper.rb
|
136
123
|
- spec/acceptance/basic_spec.rb
|
137
124
|
- spec/acceptance/index_spec.rb
|
138
125
|
- spec/acceptance/query_spec.rb
|
139
126
|
- spec/acceptance/spec_helper.rb
|
127
|
+
- spec/acceptance/transactions_spec.rb
|
140
128
|
- spec/acceptance_auth/arango_helper.rb
|
141
129
|
- spec/acceptance_auth/auth_spec.rb
|
142
130
|
- spec/acceptance_auth/spec_helper.rb
|
@@ -150,6 +138,7 @@ files:
|
|
150
138
|
- spec/fixtures/cursor/26011191-2.json
|
151
139
|
- spec/fixtures/cursor/26011191-3.json
|
152
140
|
- spec/fixtures/cursor/26011191.json
|
141
|
+
- spec/fixtures/cursor/edges.json
|
153
142
|
- spec/fixtures/cursor/query.json
|
154
143
|
- spec/fixtures/documents/example_1-137249191.json
|
155
144
|
- spec/fixtures/documents/new-example_1-137249191.json
|
@@ -165,7 +154,6 @@ files:
|
|
165
154
|
- spec/fixtures/simple-queries/range.json
|
166
155
|
- spec/fixtures/simple-queries/within.json
|
167
156
|
- spec/setup/arangodb.sh
|
168
|
-
- spec/spec_helper.rb
|
169
157
|
- spec/unit/collection_spec.rb
|
170
158
|
- spec/unit/connection_spec.rb
|
171
159
|
- spec/unit/cursor_spec.rb
|
@@ -175,37 +163,36 @@ files:
|
|
175
163
|
- spec/unit/exception_spec.rb
|
176
164
|
- spec/unit/figure_spec.rb
|
177
165
|
- spec/unit/index_spec.rb
|
166
|
+
- spec/unit/key_options_spec.rb
|
178
167
|
- spec/unit/query_spec.rb
|
179
168
|
- spec/unit/spec_helper.rb
|
180
169
|
- spec/unit/status_spec.rb
|
170
|
+
- spec/unit/transaction_spec.rb
|
181
171
|
- tasks/adjustments.rake
|
182
172
|
homepage: http://triagens.github.com/ashikawa-core
|
183
|
-
licenses:
|
173
|
+
licenses:
|
174
|
+
- Apache License 2.0
|
175
|
+
metadata: {}
|
184
176
|
post_install_message:
|
185
177
|
rdoc_options: []
|
186
178
|
require_paths:
|
187
179
|
- lib
|
188
180
|
required_ruby_version: !ruby/object:Gem::Requirement
|
189
|
-
none: false
|
190
181
|
requirements:
|
191
|
-
- -
|
182
|
+
- - '>='
|
192
183
|
- !ruby/object:Gem::Version
|
193
|
-
version: 1.
|
184
|
+
version: 1.9.2
|
194
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
-
none: false
|
196
186
|
requirements:
|
197
|
-
- -
|
187
|
+
- - '>='
|
198
188
|
- !ruby/object:Gem::Version
|
199
189
|
version: '0'
|
200
|
-
segments:
|
201
|
-
- 0
|
202
|
-
hash: 1495105476276020209
|
203
190
|
requirements:
|
204
|
-
- ArangoDB, v1.
|
191
|
+
- ArangoDB, v1.3
|
205
192
|
rubyforge_project: ashikawa-core
|
206
|
-
rubygems_version:
|
193
|
+
rubygems_version: 2.0.3
|
207
194
|
signing_key:
|
208
|
-
specification_version:
|
195
|
+
specification_version: 4
|
209
196
|
summary: Ashikawa Core is a wrapper around the ArangoDB REST API
|
210
197
|
test_files:
|
211
198
|
- spec/acceptance/arango_helper.rb
|
@@ -213,6 +200,7 @@ test_files:
|
|
213
200
|
- spec/acceptance/index_spec.rb
|
214
201
|
- spec/acceptance/query_spec.rb
|
215
202
|
- spec/acceptance/spec_helper.rb
|
203
|
+
- spec/acceptance/transactions_spec.rb
|
216
204
|
- spec/acceptance_auth/arango_helper.rb
|
217
205
|
- spec/acceptance_auth/auth_spec.rb
|
218
206
|
- spec/acceptance_auth/spec_helper.rb
|
@@ -226,6 +214,7 @@ test_files:
|
|
226
214
|
- spec/fixtures/cursor/26011191-2.json
|
227
215
|
- spec/fixtures/cursor/26011191-3.json
|
228
216
|
- spec/fixtures/cursor/26011191.json
|
217
|
+
- spec/fixtures/cursor/edges.json
|
229
218
|
- spec/fixtures/cursor/query.json
|
230
219
|
- spec/fixtures/documents/example_1-137249191.json
|
231
220
|
- spec/fixtures/documents/new-example_1-137249191.json
|
@@ -241,7 +230,6 @@ test_files:
|
|
241
230
|
- spec/fixtures/simple-queries/range.json
|
242
231
|
- spec/fixtures/simple-queries/within.json
|
243
232
|
- spec/setup/arangodb.sh
|
244
|
-
- spec/spec_helper.rb
|
245
233
|
- spec/unit/collection_spec.rb
|
246
234
|
- spec/unit/connection_spec.rb
|
247
235
|
- spec/unit/cursor_spec.rb
|
@@ -251,7 +239,9 @@ test_files:
|
|
251
239
|
- spec/unit/exception_spec.rb
|
252
240
|
- spec/unit/figure_spec.rb
|
253
241
|
- spec/unit/index_spec.rb
|
242
|
+
- spec/unit/key_options_spec.rb
|
254
243
|
- spec/unit/query_spec.rb
|
255
244
|
- spec/unit/spec_helper.rb
|
256
245
|
- spec/unit/status_spec.rb
|
246
|
+
- spec/unit/transaction_spec.rb
|
257
247
|
has_rdoc:
|