hyperion-sql 0.0.1.alpha4 → 0.0.1.alpha5

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.
@@ -1,3 +1,4 @@
1
+ require 'data_objects'
1
2
  require 'hyperion/api'
2
3
  require 'hyperion/sql/transaction'
3
4
 
@@ -7,14 +8,15 @@ module Hyperion
7
8
  def self.with_connection(url)
8
9
  connection = DataObjects::Connection.new(url)
9
10
  Thread.current[:connection] = connection
10
- yield
11
+ result = yield
11
12
  connection.close
12
13
  Thread.current[:connection] = nil
14
+ result
13
15
  end
14
16
 
15
17
  def self.with_connection_and_ds(url, name, opts={})
16
- with_connection(url) do
17
- API.with_datastore(name, opts) do
18
+ API.with_datastore(name, opts) do
19
+ with_connection(url) do
18
20
  yield
19
21
  end
20
22
  end
@@ -1,17 +1,11 @@
1
- require 'socket'
2
- require 'digest'
3
- require 'digest/sha2'
1
+ require 'uuidtools'
4
2
 
5
3
  module Hyperion
6
4
  module Sql
7
5
  class Transaction
8
6
 
9
- HOST = "#{Socket::gethostbyname(Socket::gethostname)[0]}" rescue "localhost"
10
-
11
7
  attr_reader :connection
12
8
 
13
- @@counter = 0
14
-
15
9
  def initialize(connection)
16
10
  @connection = connection
17
11
  end
@@ -49,7 +43,7 @@ module Hyperion
49
43
  end
50
44
 
51
45
  def new_savepoint_id
52
- Digest::SHA256.hexdigest("#{HOST}:#{$$}:#{Time.now.to_f}:#{@@counter += 1}")[0..-2]
46
+ UUIDTools::UUID.random_create.to_s.gsub(/-/, '')
53
47
  end
54
48
  end
55
49
  end
@@ -1,3 +1,6 @@
1
+ require 'hyperion/api'
2
+ require 'hyperion/sql'
3
+
1
4
  shared_examples_for 'Sql Transactions' do
2
5
  def write(query)
3
6
  command = Hyperion::Sql.connection.create_command(query)
@@ -43,4 +43,11 @@ describe Hyperion::Sql::Middleware do
43
43
  Thread.current[:transaction].should be_nil
44
44
  end
45
45
 
46
+ it 'returns the result' do
47
+ midd = middleware lambda { |env|
48
+ :return
49
+ }
50
+ midd.call(nil).should == :return
51
+ end
52
+
46
53
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperion-sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.alpha4
4
+ version: 0.0.1.alpha5
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - '='
36
36
  - !ruby/object:Gem::Version
37
- version: 0.0.1.alpha4
37
+ version: 0.0.1.alpha5
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,23 @@ dependencies:
42
42
  requirements:
43
43
  - - '='
44
44
  - !ruby/object:Gem::Version
45
- version: 0.0.1.alpha4
45
+ version: 0.0.1.alpha5
46
+ - !ruby/object:Gem::Dependency
47
+ name: uuidtools
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.1.3
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.1.3
46
62
  - !ruby/object:Gem::Dependency
47
63
  name: do_sqlite3
48
64
  requirement: !ruby/object:Gem::Requirement