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.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +0 -4
  5. data/Gemfile +1 -1
  6. data/Gemfile.devtools +24 -18
  7. data/README.md +6 -11
  8. data/ashikawa-core.gemspec +7 -6
  9. data/config/flay.yml +2 -2
  10. data/config/flog.yml +2 -1
  11. data/config/reek.yml +68 -84
  12. data/config/rubocop.yml +99 -0
  13. data/config/yardstick.yml +1 -1
  14. data/lib/ashikawa-core/collection.rb +74 -21
  15. data/lib/ashikawa-core/configuration.rb +26 -0
  16. data/lib/ashikawa-core/connection.rb +5 -2
  17. data/lib/ashikawa-core/cursor.rb +28 -16
  18. data/lib/ashikawa-core/database.rb +89 -12
  19. data/lib/ashikawa-core/document.rb +32 -5
  20. data/lib/ashikawa-core/edge.rb +3 -0
  21. data/lib/ashikawa-core/exceptions/client_error.rb +3 -3
  22. data/lib/ashikawa-core/exceptions/server_error.rb +3 -3
  23. data/lib/ashikawa-core/figure.rb +17 -5
  24. data/lib/ashikawa-core/index.rb +4 -0
  25. data/lib/ashikawa-core/key_options.rb +54 -0
  26. data/lib/ashikawa-core/query.rb +39 -74
  27. data/lib/ashikawa-core/request_preprocessor.rb +2 -2
  28. data/lib/ashikawa-core/response_preprocessor.rb +21 -12
  29. data/lib/ashikawa-core/transaction.rb +113 -0
  30. data/lib/ashikawa-core/version.rb +1 -1
  31. data/spec/acceptance/basic_spec.rb +40 -12
  32. data/spec/acceptance/index_spec.rb +2 -1
  33. data/spec/acceptance/query_spec.rb +18 -17
  34. data/spec/acceptance/transactions_spec.rb +30 -0
  35. data/spec/fixtures/collections/all.json +90 -30
  36. data/spec/fixtures/cursor/edges.json +23 -0
  37. data/spec/setup/arangodb.sh +7 -6
  38. data/spec/unit/collection_spec.rb +89 -13
  39. data/spec/unit/connection_spec.rb +23 -14
  40. data/spec/unit/cursor_spec.rb +15 -4
  41. data/spec/unit/database_spec.rb +58 -17
  42. data/spec/unit/document_spec.rb +24 -4
  43. data/spec/unit/edge_spec.rb +1 -1
  44. data/spec/unit/exception_spec.rb +4 -2
  45. data/spec/unit/figure_spec.rb +17 -10
  46. data/spec/unit/index_spec.rb +1 -1
  47. data/spec/unit/key_options_spec.rb +25 -0
  48. data/spec/unit/query_spec.rb +1 -1
  49. data/spec/unit/spec_helper.rb +20 -2
  50. data/spec/unit/transaction_spec.rb +153 -0
  51. data/tasks/adjustments.rake +23 -14
  52. metadata +31 -41
  53. data/.rvmrc +0 -1
  54. data/config/roodi.yml +0 -17
  55. data/spec/spec_helper.rb +0 -27
@@ -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 == nil
33
- document.revision.should == nil
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.to_hash
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
@@ -2,7 +2,7 @@ require 'unit/spec_helper'
2
2
  require 'ashikawa-core/edge'
3
3
 
4
4
  describe Ashikawa::Core::Edge do
5
- let(:database) { double() }
5
+ let(:database) { double }
6
6
  let(:raw_data) {
7
7
  {
8
8
  "_id" => "1234567/2345678",
@@ -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(411).to_s.should include "client"
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(511).to_s.should include "server"
57
+ Ashikawa::Core::ServerError.new(error_message).to_s.should == error_message
56
58
  end
57
59
  end
58
60
 
@@ -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
- subject.alive_size.should == 0
32
- subject.alive_count.should == 0
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
- subject.dead_size.should == 2384
37
- subject.dead_count.should == 149
38
- subject.dead_deletion.should == 0
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
- subject.datafiles_count.should == 1
43
- subject.datafiles_file_size.should == 124
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
- subject.journals_count.should == 1
48
- subject.journals_file_size.should == 124
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
- subject.shapes_count.should == 2
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
@@ -2,7 +2,7 @@ require 'unit/spec_helper'
2
2
  require 'ashikawa-core/index'
3
3
 
4
4
  describe Ashikawa::Core::Index do
5
- let(:collection) { double() }
5
+ let(:collection) { double }
6
6
  let(:raw_data) {
7
7
  {
8
8
  "code" => 201,
@@ -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
@@ -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::Cursor.should_receive(:new)
55
+ Ashikawa::Core::Document.should_receive(:new)
56
56
 
57
57
  subject.first_example example
58
58
  end
@@ -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 'multi_json'
23
+ require "json"
6
24
  def server_response(path)
7
- return MultiJson.load(File.readlines("spec/fixtures/#{path}.json").join)
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
@@ -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(:acceptance_with_running_arangodb) do |spec|
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(:acceptance) do |spec|
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(:acceptance_auth) do |spec|
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 and reek, they do not pass yet
38
- # * On the CI, ArangoDB is already running so use the special acceptance task
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[ metrics:coverage spec:integration metrics:yardstick:verify metrics:flog metrics:flay ]
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[ spec:unit spec:acceptance_with_running_arangodb ci:metrics ]
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.7.2
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-04-19 00:00:00.000000000 Z
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: multi_json
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.7.2
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.7.2
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: backports
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: '3.0'
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: '3.0'
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
- - .rvmrc
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/roodi.yml
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.8.7
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.2
191
+ - ArangoDB, v1.3
205
192
  rubyforge_project: ashikawa-core
206
- rubygems_version: 1.8.25
193
+ rubygems_version: 2.0.3
207
194
  signing_key:
208
- specification_version: 3
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: