activerecord-runivedo 0.5.0 → 0.5.1
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 +4 -4
- data/Test Perspective.xml +170 -0
- data/activerecord-runivedo.gemspec +2 -2
- data/lib/active_record/connection_adapters/runivedo_adapter.rb +34 -26
- data/test/setup_test.rb +17 -5
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b623b91f13fc1a06d1ece4e1f76d99ca2bc20085
|
|
4
|
+
data.tar.gz: 3b9d9b0a5d03235af18aef81736d853b784fa22b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93507d535477833177703278f535b58faf843002a575e441bec93cc0b9ba0e61a15d02d20f5d8d6990bdffb64519542c4b3dd84b8368dd18b1440e38970cb1b8
|
|
7
|
+
data.tar.gz: b908f653d0406fee2e5049f38195d3bd5dc9093bff39205a5bec1ec66266d61f6decdc6be1115d8059f2bcbddafd3551345fea2bb3691b4d2581763210727e12
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<uts date="2015-02-20 13:32:02 +0000" generator="uspec" version="1.0">
|
|
3
|
+
<specification>
|
|
4
|
+
<tables>
|
|
5
|
+
<table name="BucketRevision" description="" uuid="01808530-0754-4661-9a6c-15737c023ad4">
|
|
6
|
+
<fields>
|
|
7
|
+
<field name="perspective" description="" type="id" uuid="33be27d7-f768-49f3-aaf9-e7c0ff81eb01"/>
|
|
8
|
+
</fields>
|
|
9
|
+
</table>
|
|
10
|
+
<table name="Fields" description="Columns in utoms or tables in the Univedo data model." uuid="76231b4f-0c1a-453f-9cf4-f299bd043436">
|
|
11
|
+
<fields>
|
|
12
|
+
<field name="name" description="" type="char" length="50" uuid="00397067-f1b1-44b7-8637-769e0f86e6fd"/>
|
|
13
|
+
<field name="uuid" description="" type="uuid" uuid="d23f4669-2ab7-42ac-98e2-467ef332b47d"/>
|
|
14
|
+
<field name="type" description="" type="char" length="20" uuid="7dbe9ebb-5178-4aa5-91bb-096fb1ffb894"/>
|
|
15
|
+
<field name="foreign_key" description="" type="id" uuid="cd380935-5915-4b65-ade0-a5fa1144ee2e"/>
|
|
16
|
+
<field name="foreign_table" description="" type="id" uuid="ec74db31-3bc6-409c-ae2e-9a6b8d1f2a6c"/>
|
|
17
|
+
<field name="foreign_inverse" description="" type="bool" uuid="90634fbe-9818-490d-951b-1b81ffe9cf8e"/>
|
|
18
|
+
<field name="description" description="" type="text" uuid="9b1014e1-ec8e-4231-8746-36b0e8c2379f"/>
|
|
19
|
+
</fields>
|
|
20
|
+
</table>
|
|
21
|
+
<table name="Dummy" description="Dummy utom for test purposes. Apps can use this utom for testing but should not make any assumptions on data." uuid="195f5ecf-7da9-46c7-af09-3e6c0aaaf782">
|
|
22
|
+
<fields>
|
|
23
|
+
<field name="dummy_int8" description="" type="integer" length="1" uuid="43afa38a-28c0-46fc-bd0e-4e302e8583ae"/>
|
|
24
|
+
<field name="dummy_bool" description="" type="bool" uuid="6666c7a8-ae19-470a-88c3-5410f0ef6cbd"/>
|
|
25
|
+
<field name="dummy_blob" description="" type="blob" uuid="9ddabd19-4af4-499a-b579-32e4aa369df5"/>
|
|
26
|
+
<field name="dummy_char" description="" type="char" length="10" uuid="cadd88cc-0d52-46c5-9daf-975085a50b8e"/>
|
|
27
|
+
<field name="dummy_int16" description="" type="integer" length="2" uuid="ca7f8ef6-abbb-49da-9165-e97b6d1062cc"/>
|
|
28
|
+
<field name="dummy_int32" description="" type="integer" length="4" uuid="c9f62a3d-84af-4552-848f-7fc35124021a"/>
|
|
29
|
+
<field name="dummy_int64" description="" type="integer" length="8" uuid="cc69b4db-017e-4a57-837a-9e916ab40728"/>
|
|
30
|
+
<field name="dummy_float" description="" type="float" length="4" uuid="29d3812a-82c2-4022-9e88-4b1edd980432"/>
|
|
31
|
+
<field name="dummy_double" description="" type="float" length="8" uuid="23319e53-4f4e-48ad-b6df-93d4d432ed33"/>
|
|
32
|
+
<field name="dummy_text" description="" type="text" uuid="76df4e6a-785e-4615-b112-19b764e61c05"/>
|
|
33
|
+
<field name="dummy_datetime" description="" type="datetime" uuid="74860bb5-21eb-4eaf-b213-904587839d37"/>
|
|
34
|
+
<field name="dummy_uuid" description="" type="uuid" uuid="8d506bbb-9e41-4f51-a522-3646977d0bb5"/>
|
|
35
|
+
<field name="dummy_id" description="" type="id" uuid="9e593d3f-15fe-42ba-b9f2-6248dc6d16df"/>
|
|
36
|
+
</fields>
|
|
37
|
+
</table>
|
|
38
|
+
</tables>
|
|
39
|
+
<keys>
|
|
40
|
+
<key name="Owner" description="" uuid="f39d26c0-1e62-4133-b08f-10bb3855c223"/>
|
|
41
|
+
</keys>
|
|
42
|
+
<events>
|
|
43
|
+
<event name="inserted" description="" uuid="12b3e063-7aa8-44e7-bc8c-4a1b1a238454"/>
|
|
44
|
+
<event name="deleted" description="" uuid="9507ee43-ea4b-4ba7-88b2-9391ca59dc8a"/>
|
|
45
|
+
<event name="updated" description="" uuid="b2db0a97-001a-454b-9119-48a3c7a42c7f"/>
|
|
46
|
+
</events>
|
|
47
|
+
</specification>
|
|
48
|
+
<apps>
|
|
49
|
+
<app uuid="cefb4ed2-4ce3-4825-8550-b68a3c142f0a" name="Test Perspective" description="Sample perspective used for testing.">
|
|
50
|
+
<tables>
|
|
51
|
+
<table name="dummy" description="" specification="195f5ecf-7da9-46c7-af09-3e6c0aaaf782" selective="true">
|
|
52
|
+
<fields>
|
|
53
|
+
<field name="dummy_int8" description="" specification="43afa38a-28c0-46fc-bd0e-4e302e8583ae"/>
|
|
54
|
+
<field name="dummy_bool" description="" specification="6666c7a8-ae19-470a-88c3-5410f0ef6cbd"/>
|
|
55
|
+
<field name="dummy_blob" description="" specification="9ddabd19-4af4-499a-b579-32e4aa369df5"/>
|
|
56
|
+
<field name="dummy_char" description="" specification="cadd88cc-0d52-46c5-9daf-975085a50b8e"/>
|
|
57
|
+
<field name="dummy_int16" description="" specification="ca7f8ef6-abbb-49da-9165-e97b6d1062cc"/>
|
|
58
|
+
<field name="dummy_int32" description="" specification="c9f62a3d-84af-4552-848f-7fc35124021a"/>
|
|
59
|
+
<field name="dummy_int64" description="" specification="cc69b4db-017e-4a57-837a-9e916ab40728"/>
|
|
60
|
+
<field name="dummy_float" description="" specification="29d3812a-82c2-4022-9e88-4b1edd980432"/>
|
|
61
|
+
<field name="dummy_double" description="" specification="23319e53-4f4e-48ad-b6df-93d4d432ed33"/>
|
|
62
|
+
<field name="dummy_text" description="" specification="76df4e6a-785e-4615-b112-19b764e61c05"/>
|
|
63
|
+
<field name="dummy_datetime" description="" specification="74860bb5-21eb-4eaf-b213-904587839d37"/>
|
|
64
|
+
<field name="dummy_uuid" description="" specification="8d506bbb-9e41-4f51-a522-3646977d0bb5"/>
|
|
65
|
+
<field name="dummy_id" description="" specification="9e593d3f-15fe-42ba-b9f2-6248dc6d16df"/>
|
|
66
|
+
<field name="foreign_key_id" description="" type="foreign_key" foreign_table="dummy" foreign_key="key" foreign_inverse="false"/>
|
|
67
|
+
<field name="id" description="" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
|
|
68
|
+
<field name="created_at" description="" specification="b749da4b-3c27-4e11-8be2-6cc5c9cdc7c7"/>
|
|
69
|
+
<field name="updated_at" description="" specification="b34d7140-9005-4362-aa5d-1e091f5772df"/>
|
|
70
|
+
<field name="human_readable" description="" specification="4cf63bae-c2a9-4958-8809-087d67ff782a"/>
|
|
71
|
+
<field name="card" description="" specification="2a8ea640-4311-498f-9190-db0442f785c3"/>
|
|
72
|
+
<field name="foreign_key1_id" description="" type="foreign_key" foreign_table="dummy" foreign_key="key1" foreign_inverse="false"/>
|
|
73
|
+
<field name="creator_id" specification="8925cce6-3b67-4eff-b30f-a57b90545c51"/>
|
|
74
|
+
<field name="modifier_id" specification="fc152a9b-99bb-4370-87b9-ee162602a1b1"/>
|
|
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
|
+
</fields>
|
|
97
|
+
</table>
|
|
98
|
+
<table name="dummy_child" description="" parent="dummy" selective="false">
|
|
99
|
+
<fields>
|
|
100
|
+
</fields>
|
|
101
|
+
</table>
|
|
102
|
+
<table name="dummy_2" description="" specification="195f5ecf-7da9-46c7-af09-3e6c0aaaf782" selective="false">
|
|
103
|
+
<fields>
|
|
104
|
+
<field name="id" description="" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
|
|
105
|
+
<field name="dummy_char" specification="cadd88cc-0d52-46c5-9daf-975085a50b8e"/>
|
|
106
|
+
</fields>
|
|
107
|
+
</table>
|
|
108
|
+
<table name="dummy_renamed" description="Dummy with renamed fields." specification="195f5ecf-7da9-46c7-af09-3e6c0aaaf782" selective="false">
|
|
109
|
+
<fields>
|
|
110
|
+
<field name="bool_dummy" specification="6666c7a8-ae19-470a-88c3-5410f0ef6cbd"/>
|
|
111
|
+
</fields>
|
|
112
|
+
</table>
|
|
113
|
+
<table name="bucket_revisions" description="" specification="01808530-0754-4661-9a6c-15737c023ad4" selective="false">
|
|
114
|
+
<fields>
|
|
115
|
+
<field name="perspective" specification="33be27d7-f768-49f3-aaf9-e7c0ff81eb01"/>
|
|
116
|
+
<field name="id" specification="c36ce2f6-c4f9-4133-841d-3da4f45f62ca"/>
|
|
117
|
+
<field name="created_at" specification="b749da4b-3c27-4e11-8be2-6cc5c9cdc7c7"/>
|
|
118
|
+
<field name="creator_id" specification="8925cce6-3b67-4eff-b30f-a57b90545c51"/>
|
|
119
|
+
</fields>
|
|
120
|
+
</table>
|
|
121
|
+
</tables>
|
|
122
|
+
<join_tables>
|
|
123
|
+
<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"/>
|
|
124
|
+
<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"/>
|
|
125
|
+
<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"/>
|
|
126
|
+
<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"/>
|
|
127
|
+
</join_tables>
|
|
128
|
+
<keys>
|
|
129
|
+
<key name="key" description=""/>
|
|
130
|
+
<key name="key1" description=""/>
|
|
131
|
+
<key name="owner" description="" specification="f39d26c0-1e62-4133-b08f-10bb3855c223"/>
|
|
132
|
+
</keys>
|
|
133
|
+
<events>
|
|
134
|
+
<event name="inserted" description="" specification="12b3e063-7aa8-44e7-bc8c-4a1b1a238454"/>
|
|
135
|
+
<event name="deleted" description="" specification="9507ee43-ea4b-4ba7-88b2-9391ca59dc8a"/>
|
|
136
|
+
<event name="updated" description="" specification="b2db0a97-001a-454b-9119-48a3c7a42c7f"/>
|
|
137
|
+
</events>
|
|
138
|
+
<states>
|
|
139
|
+
<state name="dummy" description="">
|
|
140
|
+
<instance name="dummy" table="dummy">
|
|
141
|
+
</instance>
|
|
142
|
+
</state>
|
|
143
|
+
<state name="test_state_1" description="">
|
|
144
|
+
<instance name="dummy_i" table="dummy">
|
|
145
|
+
<instance name="dummy_2_i" table="dummy_2" key="key" join_invert="false" optional="false">
|
|
146
|
+
</instance>
|
|
147
|
+
</instance>
|
|
148
|
+
</state>
|
|
149
|
+
<state name="test_state_2" description="">
|
|
150
|
+
<instance name="dummy_i" table="dummy">
|
|
151
|
+
<instance name="dummy_i_2" table="dummy" key="key" join_invert="false" optional="false">
|
|
152
|
+
</instance>
|
|
153
|
+
<instance name="dummy_2_i" table="dummy_2" key="key" join_invert="false" optional="false">
|
|
154
|
+
</instance>
|
|
155
|
+
</instance>
|
|
156
|
+
</state>
|
|
157
|
+
</states>
|
|
158
|
+
<listeners>
|
|
159
|
+
<listener name="test_listener_1_inserted" description="" persistent="false" state="test_state_1" event="inserted"/>
|
|
160
|
+
<listener name="test_persistent_listener_1_inserted" description="" persistent="true" state="test_state_1" event="inserted"/>
|
|
161
|
+
<listener name="test_listener_1_updated" description="" persistent="false" state="test_state_1" event="updated"/>
|
|
162
|
+
<listener name="test_listener_1_deleted" description="" persistent="false" state="test_state_1" event="deleted"/>
|
|
163
|
+
<listener name="test_listener_2_inserted" description="" persistent="false" state="test_state_2" event="inserted"/>
|
|
164
|
+
<listener name="test_single_inserted" description="" persistent="false" state="dummy" event="inserted"/>
|
|
165
|
+
<listener name="test_single_updated" description="" persistent="false" state="dummy" event="updated"/>
|
|
166
|
+
<listener name="test_single_deleted" description="" persistent="false" state="dummy" event="deleted"/>
|
|
167
|
+
</listeners>
|
|
168
|
+
</app>
|
|
169
|
+
</apps>
|
|
170
|
+
</uts>
|
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "activerecord-runivedo"
|
|
7
|
-
spec.version = "0.5.
|
|
7
|
+
spec.version = "0.5.1"
|
|
8
8
|
spec.authors = ["Lucas Clemente"]
|
|
9
9
|
spec.email = ["lucas@univedo.com"]
|
|
10
10
|
spec.summary = "ActiveRecord adapter for Univedo"
|
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.require_paths = ["lib"]
|
|
18
18
|
|
|
19
19
|
spec.add_dependency "runivedo", "~> 0.4.0"
|
|
20
|
-
spec.add_dependency "activerecord", "~> 4.
|
|
20
|
+
spec.add_dependency "activerecord", "~> 4.2"
|
|
21
21
|
spec.add_development_dependency 'minitest'
|
|
22
22
|
spec.add_development_dependency 'minitest-emoji'
|
|
23
23
|
spec.add_development_dependency "bundler"
|
|
@@ -5,6 +5,18 @@ require 'arel/visitors/bind_visitor'
|
|
|
5
5
|
require 'runivedo'
|
|
6
6
|
|
|
7
7
|
module ActiveRecord
|
|
8
|
+
module Type
|
|
9
|
+
class UUID < Type::Value
|
|
10
|
+
def type
|
|
11
|
+
:uuid
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def type_cast_for_database(value)
|
|
15
|
+
value.to_s
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
8
20
|
module ConnectionHandling # :nodoc:
|
|
9
21
|
def runivedo_connection(config)
|
|
10
22
|
raise ArgumentError, "No univedo url specified. Missing argument: server" unless config[:server]
|
|
@@ -21,19 +33,7 @@ module ActiveRecord
|
|
|
21
33
|
|
|
22
34
|
module ConnectionAdapters #:nodoc:
|
|
23
35
|
class RunivedoAdapter < AbstractAdapter
|
|
24
|
-
attr_reader :session, :perspective, :url
|
|
25
|
-
|
|
26
|
-
class Version
|
|
27
|
-
include Comparable
|
|
28
|
-
|
|
29
|
-
def initialize(version_string)
|
|
30
|
-
@version = version_string.split('.').map { |v| v.to_i }
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def <=>(version_string)
|
|
34
|
-
@version <=> version_string.split('.').map { |v| v.to_i }
|
|
35
|
-
end
|
|
36
|
-
end
|
|
36
|
+
attr_reader :session, :perspective, :url, :bucket
|
|
37
37
|
|
|
38
38
|
class BindSubstitution < Arel::Visitors::SQLite # :nodoc:
|
|
39
39
|
include Arel::Visitors::BindVisitor
|
|
@@ -49,11 +49,9 @@ module ActiveRecord
|
|
|
49
49
|
@username = username
|
|
50
50
|
@result = nil
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
@visitor = unprepared_visitor
|
|
56
|
-
end
|
|
52
|
+
type_map.register_type 'uuid', Type::UUID.new
|
|
53
|
+
|
|
54
|
+
@visitor = Arel::Visitors::SQLite.new self
|
|
57
55
|
|
|
58
56
|
connect
|
|
59
57
|
end
|
|
@@ -100,7 +98,8 @@ module ActiveRecord
|
|
|
100
98
|
:time => { :name => "time" },
|
|
101
99
|
:date => { :name => "date" },
|
|
102
100
|
:binary => { :name => "blob" },
|
|
103
|
-
:boolean => { :name => "boolean" }
|
|
101
|
+
:boolean => { :name => "boolean" },
|
|
102
|
+
:uuid => { :name => "uuid" },
|
|
104
103
|
}
|
|
105
104
|
end
|
|
106
105
|
|
|
@@ -119,6 +118,9 @@ module ActiveRecord
|
|
|
119
118
|
|
|
120
119
|
def exec_query(sql, name = nil, binds = [])
|
|
121
120
|
log(sql, name, binds) do
|
|
121
|
+
if without_prepared_statement?(binds)
|
|
122
|
+
binds = []
|
|
123
|
+
end
|
|
122
124
|
stmt = @connection.prepare(sql)
|
|
123
125
|
cols = stmt.column_names
|
|
124
126
|
i = -1
|
|
@@ -166,8 +168,8 @@ module ActiveRecord
|
|
|
166
168
|
end
|
|
167
169
|
alias :create :insert_sql
|
|
168
170
|
|
|
169
|
-
def select_rows(sql, name = nil)
|
|
170
|
-
exec_query(sql, name).rows
|
|
171
|
+
def select_rows(sql, name = nil, binds = [])
|
|
172
|
+
exec_query(sql, name, binds).rows
|
|
171
173
|
end
|
|
172
174
|
|
|
173
175
|
# SCHEMA STATEMENTS ========================================
|
|
@@ -181,16 +183,22 @@ module ActiveRecord
|
|
|
181
183
|
end
|
|
182
184
|
|
|
183
185
|
def columns(table_name)
|
|
184
|
-
@perspective.get_fields_for_table(table_name).map do |name,
|
|
185
|
-
|
|
186
|
-
|
|
186
|
+
@perspective.get_fields_for_table(table_name).map do |name, sql_type|
|
|
187
|
+
sql_type = "integer" if sql_type == "pk"
|
|
188
|
+
cast_type = lookup_cast_type(sql_type)
|
|
189
|
+
Column.new(name, nil, cast_type, sql_type)
|
|
187
190
|
end
|
|
188
191
|
end
|
|
189
192
|
|
|
190
193
|
protected
|
|
191
194
|
|
|
192
|
-
def
|
|
193
|
-
|
|
195
|
+
def _type_cast(value)
|
|
196
|
+
case value
|
|
197
|
+
when UUIDTools::UUID
|
|
198
|
+
value.to_s
|
|
199
|
+
else
|
|
200
|
+
value
|
|
201
|
+
end
|
|
194
202
|
end
|
|
195
203
|
end
|
|
196
204
|
end
|
data/test/setup_test.rb
CHANGED
|
@@ -3,19 +3,31 @@ require "test_helper"
|
|
|
3
3
|
ActiveRecord::Base.establish_connection(
|
|
4
4
|
adapter: "runivedo",
|
|
5
5
|
server: TEST_URL,
|
|
6
|
-
bucket:
|
|
7
|
-
app: "
|
|
6
|
+
bucket: UUIDTools::UUID.random_create.to_s,
|
|
7
|
+
app: "cefb4ed2-4ce3-4825-8550-b68a3c142f0a",
|
|
8
8
|
username: "marvin",
|
|
9
|
+
uts: "Test Perspective.xml",
|
|
9
10
|
)
|
|
10
11
|
|
|
11
|
-
class
|
|
12
|
+
class Dummy < ActiveRecord::Base
|
|
13
|
+
self.table_name = "dummy"
|
|
14
|
+
|
|
15
|
+
validates :dummy_uuid, uniqueness: true
|
|
16
|
+
end
|
|
12
17
|
|
|
13
18
|
class SetupTest < MiniTest::Test
|
|
14
19
|
def test_count
|
|
15
|
-
assert
|
|
20
|
+
assert Dummy.count >= 0
|
|
16
21
|
end
|
|
17
22
|
|
|
18
23
|
def test_queries
|
|
19
|
-
|
|
24
|
+
Dummy.create dummy_char: "foo"
|
|
25
|
+
assert_equal "foo", Dummy.all.last.dummy_char
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_queries_uuid
|
|
29
|
+
uuid = UUIDTools::UUID.random_create
|
|
30
|
+
Dummy.create dummy_uuid: uuid
|
|
31
|
+
assert_equal uuid, Dummy.all.last.dummy_uuid
|
|
20
32
|
end
|
|
21
33
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activerecord-runivedo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lucas Clemente
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-02-
|
|
11
|
+
date: 2015-02-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: runivedo
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '4.
|
|
33
|
+
version: '4.2'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '4.
|
|
40
|
+
version: '4.2'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: minitest
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,6 +106,7 @@ files:
|
|
|
106
106
|
- LICENSE.txt
|
|
107
107
|
- README.md
|
|
108
108
|
- Rakefile
|
|
109
|
+
- Test Perspective.xml
|
|
109
110
|
- activerecord-runivedo.gemspec
|
|
110
111
|
- lib/active_record/connection_adapters/runivedo_adapter.rb
|
|
111
112
|
- lib/activerecord-runivedo.rb
|