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