runivedo 0.2.3 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e71806ee2a3cdf9578589b2dd599392845787282
4
- data.tar.gz: d9da99756c31119331f46466d38be49e96dd5574
3
+ metadata.gz: 337b18c990b0bd5e190370b93d146d430038e7a6
4
+ data.tar.gz: f3dfb2bfe9e898df3a66aa06a777348cb2f82843
5
5
  SHA512:
6
- metadata.gz: 058d6edde1a2932451a6e382e2a38040a488f971bf528c4d2ebd6f03f412e60bb33032e0b13c93a39695ad01482759161ce281060a05c88065548dd709c511fc
7
- data.tar.gz: 001e2323bbbc9c25383f160d6e5679cf5bdffd138ee936825f33dde3cd0a39aee473b9793a0917a31e2cef3e6060fdfa3a0fabf8b0f6bed9894ff3ea67ac0f25
6
+ metadata.gz: 64f70ae9bb3137faf86e7fce761f8e2be2e1d5ec8803803cba8a2b2d9f5ee8c3550b6cd2552e45c182b71ce88e5120b0f350919507888c55a77549406bcfe0d2
7
+ data.tar.gz: 6129ac6e393135adbe4d385ca0e6c81772f4503730b82708410de6e793b8a2e66716d78b20356a0c7affef1ba353ee5faacda9b496596cd70222327fc9362827
@@ -0,0 +1,152 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <uts date="2014-10-02 20:50:44 +0000" generator="uspec" version="1.0">
3
+ <specification>
4
+ <tables>
5
+ <table name="Tables" description="Atomic table objects in the Univedo data model." uuid="af4ffbee-0bfa-4211-9e6b-726b921df081">
6
+ <fields>
7
+ <field name="name" description="" type="char" length="50" uuid="607b39d7-b959-4ccf-8a65-94f6c5e1d9e5"/>
8
+ <field name="uuid" description="" type="uuid" uuid="1c3fdf6a-c86a-4bc7-86d3-0bcb177b4e86"/>
9
+ <field name="selective" description="" type="bool" uuid="01ab22c1-e78e-4323-b635-5f9748597c1f"/>
10
+ <field name="description" description="" type="text" uuid="ebc42780-12bd-4844-a712-f5feda39ac38"/>
11
+ </fields>
12
+ </table>
13
+ <table name="Fields" description="Columns in utoms or tables in the Univedo data model." uuid="76231b4f-0c1a-453f-9cf4-f299bd043436">
14
+ <fields>
15
+ <field name="name" description="" type="char" length="50" uuid="00397067-f1b1-44b7-8637-769e0f86e6fd"/>
16
+ <field name="uuid" description="" type="uuid" uuid="d23f4669-2ab7-42ac-98e2-467ef332b47d"/>
17
+ <field name="type" description="" type="char" length="20" uuid="7dbe9ebb-5178-4aa5-91bb-096fb1ffb894"/>
18
+ <field name="foreign_key" description="" type="id" uuid="cd380935-5915-4b65-ade0-a5fa1144ee2e"/>
19
+ <field name="foreign_table" description="" type="id" uuid="ec74db31-3bc6-409c-ae2e-9a6b8d1f2a6c"/>
20
+ <field name="foreign_inverse" description="" type="bool" uuid="90634fbe-9818-490d-951b-1b81ffe9cf8e"/>
21
+ <field name="description" description="" type="text" uuid="9b1014e1-ec8e-4231-8746-36b0e8c2379f"/>
22
+ </fields>
23
+ </table>
24
+ <table name="Dummy" description="Dummy utom for test purposes.&#13;&#10;&#13;&#10;Apps can use this utom for testing but should not make any assumptions on data." uuid="195f5ecf-7da9-46c7-af09-3e6c0aaaf782">
25
+ <fields>
26
+ <field name="dummy_int8" description="" type="integer" length="1" uuid="43afa38a-28c0-46fc-bd0e-4e302e8583ae"/>
27
+ <field name="dummy_bool" description="" type="bool" uuid="6666c7a8-ae19-470a-88c3-5410f0ef6cbd"/>
28
+ <field name="dummy_blob" description="" type="blob" uuid="9ddabd19-4af4-499a-b579-32e4aa369df5"/>
29
+ <field name="dummy_char" description="" type="char" length="10" uuid="cadd88cc-0d52-46c5-9daf-975085a50b8e"/>
30
+ <field name="dummy_int16" description="" type="integer" length="2" uuid="ca7f8ef6-abbb-49da-9165-e97b6d1062cc"/>
31
+ <field name="dummy_int32" description="" type="integer" length="4" uuid="c9f62a3d-84af-4552-848f-7fc35124021a"/>
32
+ <field name="dummy_int64" description="" type="integer" length="8" uuid="cc69b4db-017e-4a57-837a-9e916ab40728"/>
33
+ <field name="dummy_float" description="" type="float" length="4" uuid="29d3812a-82c2-4022-9e88-4b1edd980432"/>
34
+ <field name="dummy_double" description="" type="float" length="8" uuid="23319e53-4f4e-48ad-b6df-93d4d432ed33"/>
35
+ <field name="dummy_text" description="" type="text" uuid="76df4e6a-785e-4615-b112-19b764e61c05"/>
36
+ <field name="dummy_datetime" description="" type="datetime" uuid="74860bb5-21eb-4eaf-b213-904587839d37"/>
37
+ <field name="dummy_uuid" description="" type="uuid" uuid="8d506bbb-9e41-4f51-a522-3646977d0bb5"/>
38
+ <field name="dummy_id" description="" type="id" uuid="9e593d3f-15fe-42ba-b9f2-6248dc6d16df"/>
39
+ </fields>
40
+ </table>
41
+ </tables>
42
+ <keys>
43
+ <key name="Owner" description="" uuid="f39d26c0-1e62-4133-b08f-10bb3855c223"/>
44
+ </keys>
45
+ <events>
46
+ <event name="inserted" description="" uuid="12b3e063-7aa8-44e7-bc8c-4a1b1a238454"/>
47
+ <event name="deleted" description="" uuid="9507ee43-ea4b-4ba7-88b2-9391ca59dc8a"/>
48
+ </events>
49
+ </specification>
50
+ <apps>
51
+ <app uuid="cefb4ed2-4ce3-4825-8550-b68a3c142f0a" name="Test Perspective" description="Sample perspective used for testing.">
52
+ <tables>
53
+ <table name="dummy" description="" specification="195f5ecf-7da9-46c7-af09-3e6c0aaaf782" selective="true">
54
+ <fields>
55
+ <field name="dummy_int8" description="" specification="43afa38a-28c0-46fc-bd0e-4e302e8583ae"/>
56
+ <field name="dummy_bool" description="" specification="6666c7a8-ae19-470a-88c3-5410f0ef6cbd"/>
57
+ <field name="dummy_blob" description="" specification="9ddabd19-4af4-499a-b579-32e4aa369df5"/>
58
+ <field name="dummy_char" description="" specification="cadd88cc-0d52-46c5-9daf-975085a50b8e"/>
59
+ <field name="dummy_int16" description="" specification="ca7f8ef6-abbb-49da-9165-e97b6d1062cc"/>
60
+ <field name="dummy_int32" description="" specification="c9f62a3d-84af-4552-848f-7fc35124021a"/>
61
+ <field name="dummy_int64" description="" specification="cc69b4db-017e-4a57-837a-9e916ab40728"/>
62
+ <field name="dummy_float" description="" specification="29d3812a-82c2-4022-9e88-4b1edd980432"/>
63
+ <field name="dummy_double" description="" specification="23319e53-4f4e-48ad-b6df-93d4d432ed33"/>
64
+ <field name="dummy_text" description="" specification="76df4e6a-785e-4615-b112-19b764e61c05"/>
65
+ <field name="dummy_datetime" description="" specification="74860bb5-21eb-4eaf-b213-904587839d37"/>
66
+ <field name="dummy_uuid" description="" specification="8d506bbb-9e41-4f51-a522-3646977d0bb5"/>
67
+ <field name="dummy_id" description="" specification="9e593d3f-15fe-42ba-b9f2-6248dc6d16df"/>
68
+ <field name="foreign_key_id" description="" type="foreign_key" foreign_table="dummy" foreign_key="key" foreign_inverse="false"/>
69
+ <field name="id" description="" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
70
+ <field name="created_at" description="" specification="b749da4b-3c27-4e11-8be2-6cc5c9cdc7c7"/>
71
+ <field name="updated_at" description="" specification="b34d7140-9005-4362-aa5d-1e091f5772df"/>
72
+ <field name="human_readable" description="" specification="4cf63bae-c2a9-4958-8809-087d67ff782a"/>
73
+ <field name="card" description="" specification="2a8ea640-4311-498f-9190-db0442f785c3"/>
74
+ <field name="foreign_key1_id" description="" type="foreign_key" foreign_table="dummy" foreign_key="key1" foreign_inverse="false"/>
75
+ </fields>
76
+ </table>
77
+ <table name="virt" description="">
78
+ <fields>
79
+ <field name="dummy_id" description="" type="foreign_key" foreign_table="dummy" foreign_key="key" foreign_inverse="false"/>
80
+ <field name="self" description="" type="foreign_key" foreign_table="virt" foreign_key="key" foreign_inverse="false"/>
81
+ <field name="inverse" description="" type="foreign_key" foreign_table="dummy" foreign_key="key" foreign_inverse="true"/>
82
+ <field name="dummy_id1" description="" type="foreign_key" foreign_table="dummy" foreign_key="key" foreign_inverse="false"/>
83
+ <field name="dummy_id2" description="" type="foreign_key" foreign_table="dummy" foreign_key="key1" foreign_inverse="false"/>
84
+ <field name="dummy2_id" description="" type="foreign_key" foreign_table="dummy_2" foreign_key="key1" foreign_inverse="false"/>
85
+ <field name="id" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
86
+ </fields>
87
+ </table>
88
+ <table name="fields_selective" description="" specification="76231b4f-0c1a-453f-9cf4-f299bd043436" selective="true">
89
+ <fields>
90
+ <field name="id" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
91
+ </fields>
92
+ </table>
93
+ <table name="fields_inclusive" description="" specification="76231b4f-0c1a-453f-9cf4-f299bd043436" selective="false">
94
+ <fields>
95
+ <field name="id" description="" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
96
+ <field name="table_id" description="" type="foreign_key" foreign_table="tables_inclusive" foreign_key="owner" foreign_inverse="false"/>
97
+ </fields>
98
+ </table>
99
+ <table name="dummy_child" description="" parent="dummy" selective="false">
100
+ <fields>
101
+ </fields>
102
+ </table>
103
+ <table name="dummy_2" description="" specification="195f5ecf-7da9-46c7-af09-3e6c0aaaf782" selective="false">
104
+ <fields>
105
+ <field name="id" description="" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
106
+ <field name="dummy_char" specification="cadd88cc-0d52-46c5-9daf-975085a50b8e"/>
107
+ </fields>
108
+ </table>
109
+ <table name="dummy_renamed" description="Dummy with renamed fields." specification="195f5ecf-7da9-46c7-af09-3e6c0aaaf782" selective="false">
110
+ <fields>
111
+ <field name="bool_dummy" specification="6666c7a8-ae19-470a-88c3-5410f0ef6cbd"/>
112
+ </fields>
113
+ </table>
114
+ <table name="tables_inclusive" description="" specification="af4ffbee-0bfa-4211-9e6b-726b921df081" selective="false">
115
+ <fields>
116
+ <field name="id" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
117
+ </fields>
118
+ </table>
119
+ </tables>
120
+ <join_tables>
121
+ <join_table name="test_join" description="" key="key" table_left="dummy" table_right="dummy_2" column_name_left="dummy_id" column_name_right="dummy2_id"/>
122
+ <join_table name="test_join2" description="" key="key1" table_left="dummy" table_right="dummy_2" column_name_left="dummy_id" column_name_right="dummy2_id"/>
123
+ <join_table name="test_virt_join" description="" key="key" table_left="dummy" table_right="virt" column_name_left="dummy_id" column_name_right="virt_id"/>
124
+ <join_table name="test_virt_join2" description="" key="key1" table_left="dummy" table_right="virt" column_name_left="dummy_id" column_name_right="virt_id"/>
125
+ </join_tables>
126
+ <keys>
127
+ <key name="key" description=""/>
128
+ <key name="key1" description=""/>
129
+ <key name="owner" description="" specification="f39d26c0-1e62-4133-b08f-10bb3855c223"/>
130
+ </keys>
131
+ <events>
132
+ <event name="inserted" description="" specification="12b3e063-7aa8-44e7-bc8c-4a1b1a238454"/>
133
+ <event name="deleted" description="" specification="9507ee43-ea4b-4ba7-88b2-9391ca59dc8a"/>
134
+ </events>
135
+ <states>
136
+ <state name="dummy" description="">
137
+ <instance name="dummy" table="dummy">
138
+ </instance>
139
+ </state>
140
+ <state name="test_state_1" description="">
141
+ <instance name="dummy" table="dummy">
142
+ <instance name="dummy_2" table="dummy_2" key="key" join_invert="false" optional="false">
143
+ </instance>
144
+ </instance>
145
+ </state>
146
+ </states>
147
+ <listeners>
148
+ <listener name="test_listener_1_inserted" description="" persistent="true" state="test_state_1" event="inserted"/>
149
+ </listeners>
150
+ </app>
151
+ </apps>
152
+ </uts>
@@ -17,10 +17,10 @@ module Runivedo
17
17
  @@ro_classes
18
18
  end
19
19
 
20
- class Session
20
+ class Connection
21
21
  attr_reader :error
22
22
 
23
- def initialize(url, args = {})
23
+ def initialize(url)
24
24
  @remote_objects = {}
25
25
  @ws = RfcWebSocket::WebSocket.new(url)
26
26
  # Use TCP_NODELAY, since usually SQL queries are pretty small packets.
@@ -29,23 +29,10 @@ module Runivedo
29
29
  Thread.new { handle_ws }
30
30
  @urologin = RemoteObject.new(self, 0)
31
31
  @remote_objects[0] = @urologin
32
- @session_remote = @urologin.call_rom('getSession', args)
33
32
  end
34
33
 
35
- def ping(v)
36
- @session_remote.ping(v)
37
- end
38
-
39
- def get_perspective(name, &block)
40
- @session_remote.get_perspective name, &block
41
- end
42
-
43
- def apply_uts(uts)
44
- @session_remote.apply_uts uts
45
- end
46
-
47
- def get_server_version
48
- @session_remote.get_server_version
34
+ def get_session(bucket, auth)
35
+ @urologin.call_rom('getSession', bucket, auth)
49
36
  end
50
37
 
51
38
  def close
@@ -68,7 +55,6 @@ module Runivedo
68
55
  # Read message to an array
69
56
  io = StringIO.new(msg)
70
57
  data = []
71
- session = self
72
58
  data << CBOR.load(io, 27 => method(:receive_ro)) while !io.eof?
73
59
 
74
60
  # Find remote object
@@ -16,8 +16,8 @@ module Runivedo
16
16
  end
17
17
  end
18
18
 
19
- def initialize(session, id)
20
- @session = session
19
+ def initialize(connection, id)
20
+ @connection = connection
21
21
  @open = true
22
22
  @id = id
23
23
  @call_id = 0
@@ -29,7 +29,7 @@ module Runivedo
29
29
  def send_notification(name, *args)
30
30
  @mutex.synchronize do
31
31
  check_open
32
- @session.send :send_message, [@id, OPERATION_NOTIFY, name.to_s, args]
32
+ @connection.send :send_message, [@id, OPERATION_NOTIFY, name.to_s, args]
33
33
  end
34
34
  end
35
35
 
@@ -39,7 +39,7 @@ module Runivedo
39
39
  check_open
40
40
  call_result = Future.new
41
41
  @calls[@call_id] = call_result
42
- @session.send :send_message, [@id, OPERATION_CALL_ROM, @call_id, name, args]
42
+ @connection.send :send_message, [@id, OPERATION_CALL_ROM, @call_id, name, args]
43
43
  @call_id += 1
44
44
  end
45
45
  result = call_result.get
@@ -63,9 +63,9 @@ module Runivedo
63
63
  end
64
64
 
65
65
  def close
66
- @session.send :delete_ro, @id
66
+ @connection.send :delete_ro, @id
67
67
  onclose(Runivedo::ConnectionError.new("remote object closed"))
68
- @session.send :send_message, [@id, OPERATION_DELETE]
68
+ @connection.send :send_message, [@id, OPERATION_DELETE]
69
69
  end
70
70
 
71
71
  private
@@ -1,3 +1,3 @@
1
1
  module Runivedo
2
- VERSION = "0.2.3"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/runivedo.rb CHANGED
@@ -2,5 +2,5 @@ require "runivedo/version"
2
2
  require "runivedo/error"
3
3
  require "runivedo/future"
4
4
  require "runivedo/remote_object"
5
- require "runivedo/session"
5
+ require "runivedo/connection"
6
6
  require "runivedo/sql"
@@ -1,6 +1,6 @@
1
1
  require "test_helper"
2
2
 
3
- class MockSession
3
+ class MockConnection
4
4
  attr_accessor :msg, :onmsg
5
5
 
6
6
  def send_message(msg)
@@ -13,43 +13,43 @@ end
13
13
 
14
14
  class RemoteObjectTest < MiniTest::Test
15
15
  def test_sending_notifications
16
- session = MockSession.new
17
- ro = Runivedo::RemoteObject.new(session, 23)
16
+ connection = MockConnection.new
17
+ ro = Runivedo::RemoteObject.new(connection, 23)
18
18
  ro.send_notification "foo", 1, "2", 3
19
- assert_equal [23, 3, "foo", [1, "2", 3]], session.msg
19
+ assert_equal [23, 3, "foo", [1, "2", 3]], connection.msg
20
20
  end
21
21
 
22
22
  def test_receiving_notifications
23
23
  res = nil
24
- session = MockSession.new
25
- ro = Runivedo::RemoteObject.new(session, 23)
24
+ connection = MockConnection.new
25
+ ro = Runivedo::RemoteObject.new(connection, 23)
26
26
  ro.on("foo") {|a, b, c| res = [a, b, c]}
27
27
  ro.send :receive, [3, "foo", [1, "2", 3]]
28
28
  assert_equal [1, "2", 3], res
29
29
  end
30
30
 
31
31
  def test_rom_calls
32
- session = MockSession.new
33
- ro = Runivedo::RemoteObject.new(session, 23)
34
- session.onmsg = -> {ro.send :receive, [2, 0, 0, 42]}
32
+ connection = MockConnection.new
33
+ ro = Runivedo::RemoteObject.new(connection, 23)
34
+ connection.onmsg = -> {ro.send :receive, [2, 0, 0, 42]}
35
35
  assert_equal 42, ro.call_rom("foo", 1, "2", 3)
36
- assert_equal [23, 1, 0, "foo", [1, "2", 3]], session.msg
36
+ assert_equal [23, 1, 0, "foo", [1, "2", 3]], connection.msg
37
37
  end
38
38
 
39
39
  def test_rom_errors
40
40
  assert_raises Runivedo::SqlError do
41
- session = MockSession.new
42
- ro = Runivedo::RemoteObject.new(session, 23)
43
- session.onmsg = -> {ro.send :receive, [2, 0, 1, "boom"]}
41
+ connection = MockConnection.new
42
+ ro = Runivedo::RemoteObject.new(connection, 23)
43
+ connection.onmsg = -> {ro.send :receive, [2, 0, 1, "boom"]}
44
44
  assert_equal 42, ro.call_rom("foo", 1, "2", 3)
45
- assert_equal [23, 1, 0, "foo", [1, "2", 3]], session.msg
45
+ assert_equal [23, 1, 0, "foo", [1, "2", 3]], connection.msg
46
46
  end
47
47
  end
48
48
 
49
49
  def test_closes
50
- session = MockSession.new
51
- ro = Runivedo::RemoteObject.new(session, 23)
50
+ connection = MockConnection.new
51
+ ro = Runivedo::RemoteObject.new(connection, 23)
52
52
  ro.close
53
- assert_equal [23, 4], session.msg
53
+ assert_equal [23, 4], connection.msg
54
54
  end
55
55
  end
data/test/session_test.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  require "test_helper"
2
2
 
3
- class SessionTest < MiniTest::Test
3
+ class ConnectionTest < MiniTest::Test
4
4
  def setup
5
- @session = Runivedo::Session.new TEST_URL, TEST_AUTH
5
+ @connection = Runivedo::Connection.new TEST_URL
6
+ @session = @connection.get_session TEST_BUCKET, TEST_AUTH
6
7
  end
7
8
 
8
9
  def teardown
9
- @session.close unless @session.closed?
10
+ @connection.close unless @connection.closed?
10
11
  end
11
12
 
12
13
  def ping(v)
@@ -14,7 +15,7 @@ class SessionTest < MiniTest::Test
14
15
  end
15
16
 
16
17
  def test_connect
17
- assert !@session.closed?
18
+ assert !@connection.closed?
18
19
  end
19
20
 
20
21
  def test_pings_null
@@ -30,12 +31,12 @@ class SessionTest < MiniTest::Test
30
31
  end
31
32
 
32
33
  def test_close
33
- @session.close
34
- assert @session.closed?
34
+ @connection.close
35
+ assert @connection.closed?
35
36
  end
36
37
 
37
38
  def test_error_closed
38
- @session.close
39
+ @connection.close
39
40
  assert_raises Runivedo::ConnectionError do
40
41
  @session.ping("foo")
41
42
  end
data/test/sql_test.rb CHANGED
@@ -2,12 +2,14 @@ require "test_helper"
2
2
 
3
3
  class SqlTest < MiniTest::Test
4
4
  def setup
5
- @session = Runivedo::Session.new TEST_URL, TEST_AUTH
5
+ @connection = Runivedo::Connection.new TEST_URL
6
+ @session = @connection.get_session TEST_BUCKET, TEST_AUTH
7
+ @session.apply_uts IO.read("Test Perspective.xml")
6
8
  @perspective = @session.get_perspective "cefb4ed2-4ce3-4825-8550-b68a3c142f0a"
7
9
  end
8
10
 
9
11
  def teardown
10
- @session.close
12
+ @connection.close
11
13
  end
12
14
 
13
15
  def test_connection
data/test/test_helper.rb CHANGED
@@ -4,5 +4,6 @@ require "minitest/autorun"
4
4
  require "minitest/emoji"
5
5
  require "runivedo"
6
6
 
7
- TEST_URL = "ws://vagrant/f8018f09-fb75-4d3d-8e11-44b2dc796130"
8
- TEST_AUTH = {username: "marvin"}
7
+ TEST_URL = "ws://localhost:9011/"
8
+ TEST_BUCKET = "cbd79ca3-1dd4-4ddf-a964-618b593d5fdb"
9
+ TEST_AUTH = {}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runivedo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Clemente
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-06 00:00:00.000000000 Z
11
+ date: 2014-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rfc-ws-client
@@ -120,11 +120,12 @@ files:
120
120
  - LICENSE.txt
121
121
  - README.md
122
122
  - Rakefile
123
+ - Test Perspective.xml
123
124
  - lib/runivedo.rb
125
+ - lib/runivedo/connection.rb
124
126
  - lib/runivedo/error.rb
125
127
  - lib/runivedo/future.rb
126
128
  - lib/runivedo/remote_object.rb
127
- - lib/runivedo/session.rb
128
129
  - lib/runivedo/sql.rb
129
130
  - lib/runivedo/version.rb
130
131
  - runivedo.gemspec
@@ -152,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
153
  version: '0'
153
154
  requirements: []
154
155
  rubyforge_project:
155
- rubygems_version: 2.2.2
156
+ rubygems_version: 2.4.1
156
157
  signing_key:
157
158
  specification_version: 4
158
159
  summary: Ruby binding for Univedo