Dex 0.4.1 → 0.4.2
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.
- data/lib/Dex/testing.rb +59 -0
- data/lib/Dex/version.rb +1 -1
- data/spec/libs/main.rb +5 -41
- metadata +2 -1
data/lib/Dex/testing.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Kernel
|
4
|
+
|
5
|
+
private
|
6
|
+
|
7
|
+
def current_dex
|
8
|
+
dex = if instance_variable_defined?(:@dex)
|
9
|
+
@dex
|
10
|
+
end
|
11
|
+
dex || Dex
|
12
|
+
end
|
13
|
+
|
14
|
+
def rollback sequel = nil
|
15
|
+
(sequel || current_dex ).db.transaction(:rollback=>:always) {
|
16
|
+
yield
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def rollback! sequel = nil
|
21
|
+
(sequel || current_dex ).table.delete
|
22
|
+
yield
|
23
|
+
end
|
24
|
+
|
25
|
+
def new_dex db = nil
|
26
|
+
@new_dex ||= Class.new { include Dex::DSL }
|
27
|
+
dex = @new_dex.new
|
28
|
+
|
29
|
+
if db
|
30
|
+
dex.db(db[':'] ? db : File.join("/tmp", db) )
|
31
|
+
end
|
32
|
+
|
33
|
+
dex
|
34
|
+
end
|
35
|
+
|
36
|
+
def new_exception name = nil
|
37
|
+
@excep_counter ||= 0
|
38
|
+
name ||= "Error: #{(@excep_counter+=1)}"
|
39
|
+
err = nil
|
40
|
+
begin
|
41
|
+
raise ArgumentError, name
|
42
|
+
rescue Object => e
|
43
|
+
err = e
|
44
|
+
end
|
45
|
+
err
|
46
|
+
end
|
47
|
+
|
48
|
+
def insert_exceptions n
|
49
|
+
rollback! {
|
50
|
+
ids = []
|
51
|
+
errs = [0,1,2].map { |i|
|
52
|
+
ids << current_dex.insert(e=except)
|
53
|
+
e
|
54
|
+
}
|
55
|
+
yield ids, errs
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
end # === Kernel
|
data/lib/Dex/version.rb
CHANGED
data/spec/libs/main.rb
CHANGED
@@ -19,45 +19,16 @@ require 'Bacon_Colored'
|
|
19
19
|
require 'pry'
|
20
20
|
require 'Exit_0'
|
21
21
|
require 'Dex'
|
22
|
+
require 'Dex/testing'
|
22
23
|
|
23
24
|
Dex.db "/tmp/dex.db"
|
24
25
|
|
25
26
|
def dex
|
26
|
-
Dex
|
27
|
-
end
|
28
|
-
|
29
|
-
def new_dex db = nil
|
30
|
-
@t ||= Class.new { include Dex::DSL }
|
31
|
-
dex = @t.new
|
32
|
-
if db
|
33
|
-
dex.db(db[':'] ? db : File.join("/tmp", db) )
|
34
|
-
end
|
35
|
-
|
36
|
-
dex
|
27
|
+
@dex ||= Dex
|
37
28
|
end
|
38
29
|
|
39
30
|
def except name = nil
|
40
|
-
|
41
|
-
name ||= "Error: #{(@counter+=1)}"
|
42
|
-
err = nil
|
43
|
-
begin
|
44
|
-
raise ArgumentError, name
|
45
|
-
rescue Object => e
|
46
|
-
err = e
|
47
|
-
end
|
48
|
-
err
|
49
|
-
end
|
50
|
-
|
51
|
-
def rollback sequel = nil
|
52
|
-
(sequel || dex).db.transaction(:rollback=>:always) {
|
53
|
-
yield
|
54
|
-
}
|
55
|
-
end
|
56
|
-
|
57
|
-
def rollback!
|
58
|
-
# Dex.db.rollback(:rollback=>:always) {
|
59
|
-
dex.table.delete
|
60
|
-
yield
|
31
|
+
new_exception name
|
61
32
|
end
|
62
33
|
|
63
34
|
def bin cmd = ""
|
@@ -72,15 +43,8 @@ def bin cmd = ""
|
|
72
43
|
o
|
73
44
|
end
|
74
45
|
|
75
|
-
def insert_excepts n
|
76
|
-
|
77
|
-
ids = []
|
78
|
-
errs = [0,1,2].map { |i|
|
79
|
-
ids << Dex.insert(e=except)
|
80
|
-
e
|
81
|
-
}
|
82
|
-
yield ids, errs
|
83
|
-
}
|
46
|
+
def insert_excepts n, &blok
|
47
|
+
insert_exceptions( n, &blok )
|
84
48
|
end
|
85
49
|
|
86
50
|
def last dex
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Dex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -219,6 +219,7 @@ files:
|
|
219
219
|
- bin/Dex
|
220
220
|
- db.db
|
221
221
|
- lib/Dex.rb
|
222
|
+
- lib/Dex/testing.rb
|
222
223
|
- lib/Dex/version.rb
|
223
224
|
- spec/Dex.rb
|
224
225
|
- spec/bin.rb
|