ashikawa-core 0.7.2 → 0.8.0
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 +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:
|