usecase_tracer 0.1.0 → 0.2.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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/data/weblet.txt +32 -0
- data/lib/usecase_tracer.rb +31 -44
- metadata +72 -27
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 81bbbf5f94afc511fbf3808f6238c35ce05a0a65727261f5affe7cfabaa3108e
|
4
|
+
data.tar.gz: d6f0d6d266043b72cd35e07471e94fc9615d477dde21aa587540034ada4de3f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71d70ec1b3fe899b7c30441f96ff73ded82a9db74ab8d67fd6c1a520f60a4ca6f90ec9290792cda924d5ee0c70fe7d60b8dec7765259a87691933a837088a592
|
7
|
+
data.tar.gz: 4e46dd4e79188dfca377a55154312767be660bd424140f3ff2fc071d2b71a103fcb14442ee4c6f759ecf97e5da43c92f2d9f840b6464e8dfc305fbde8104f096
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/data/weblet.txt
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
%trace
|
2
|
+
|
3
|
+
require 'usecase_tracer'
|
4
|
+
#{requirex}
|
5
|
+
|
6
|
+
class #{mainclass}Tracer < UsecaseTracer
|
7
|
+
|
8
|
+
class_tracer :#{mainclass}
|
9
|
+
|
10
|
+
def cases()
|
11
|
+
|
12
|
+
usecase 'untitled usecase 1' do
|
13
|
+
|
14
|
+
trace do
|
15
|
+
|
16
|
+
#{code}
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
true
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
lt = #{mainclass}Tracer.new
|
28
|
+
lt.run
|
29
|
+
|
30
|
+
lt.testresult
|
31
|
+
lt.passed?
|
32
|
+
puts lt.tracelog.first
|
data/lib/usecase_tracer.rb
CHANGED
@@ -2,50 +2,15 @@
|
|
2
2
|
|
3
3
|
# file: usecase_tracer.rb
|
4
4
|
|
5
|
+
require 'weblet'
|
5
6
|
require 'indented-tracer'
|
6
7
|
|
7
|
-
=begin
|
8
|
-
|
9
|
-
# example usecase
|
10
|
-
|
11
|
-
# description
|
12
|
-
|
13
|
-
usecase 'new day: create a new entry' do
|
14
|
-
|
15
|
-
# preparation (files to create in the
|
16
|
-
# /tmp directory, setting of the date etc.)
|
17
|
-
|
18
|
-
# intialisation
|
19
|
-
liveblog = LiveBlog.new
|
20
|
-
|
21
|
-
# setup (i.e. setting the date)
|
22
|
-
|
23
|
-
# conditions
|
24
|
-
if liveblog.date == Date.today and liveblog.today_exists? == false then
|
25
|
-
|
26
|
-
trace() do
|
27
|
-
|
28
|
-
# public method to be traced
|
29
|
-
s = '# Testing the liveblog #liveblog'
|
30
|
-
liveblog.add_entry(s)
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
# optional validator
|
35
|
-
html = File.read(File.join(path, 'index.html'))
|
36
|
-
html =~ /Testing the liveblog/ ? true : false
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
end # end of run
|
41
|
-
=end
|
42
|
-
|
43
|
-
|
44
8
|
class UsecaseTracer
|
45
9
|
|
46
10
|
attr_reader :tracelog, :testresult
|
47
11
|
|
48
12
|
@@classes = []
|
13
|
+
@@ignore_methods = []
|
49
14
|
|
50
15
|
def initialize()
|
51
16
|
|
@@ -53,8 +18,7 @@ class UsecaseTracer
|
|
53
18
|
cases()
|
54
19
|
@tracelog = []
|
55
20
|
@testresult = []
|
56
|
-
|
57
|
-
|
21
|
+
|
58
22
|
end
|
59
23
|
|
60
24
|
def self.class_tracer(*args)
|
@@ -62,9 +26,10 @@ class UsecaseTracer
|
|
62
26
|
@@classes = a.map(&:to_s)
|
63
27
|
end
|
64
28
|
|
65
|
-
def
|
66
|
-
|
67
|
-
|
29
|
+
def self.ignore_methods(*args)
|
30
|
+
a = *args
|
31
|
+
@@ignore_methods = a.flatten
|
32
|
+
end
|
68
33
|
|
69
34
|
def run()
|
70
35
|
|
@@ -83,16 +48,17 @@ class UsecaseTracer
|
|
83
48
|
@testresult.map(&:last).all?
|
84
49
|
end
|
85
50
|
|
86
|
-
def trace()
|
51
|
+
def trace(ignore: [])
|
87
52
|
|
88
53
|
it = IndentedTracer.new
|
89
54
|
it.classes = @@classes
|
55
|
+
it.ignore_methods = (@@ignore_methods + [*ignore].map(&:to_sym))
|
90
56
|
it.on
|
91
57
|
|
92
58
|
yield
|
93
59
|
|
94
60
|
it.off
|
95
|
-
@tracelog << it.log(@desc, tags: classes
|
61
|
+
@tracelog << it.log(@desc, tags: @@classes)
|
96
62
|
|
97
63
|
end
|
98
64
|
|
@@ -109,3 +75,24 @@ class UsecaseTracer
|
|
109
75
|
end
|
110
76
|
end
|
111
77
|
|
78
|
+
class QuickTrace
|
79
|
+
|
80
|
+
def self.copy(file=nil, weblet_file: nil)
|
81
|
+
|
82
|
+
weblet_file ||= File.join(File.dirname(__FILE__), '..',
|
83
|
+
'data', 'weblet.txt')
|
84
|
+
|
85
|
+
s = file ? File.read(file) : Clipboard.paste
|
86
|
+
lines = s.lines
|
87
|
+
|
88
|
+
a = lines.grep(/^require ["']/)
|
89
|
+
idx = lines.index a[-1]
|
90
|
+
requirex = lines[0..idx].join
|
91
|
+
code = lines[idx+1..-1].join
|
92
|
+
|
93
|
+
mainclass = code[/(\w+)(?=\.new)/]
|
94
|
+
Weblet.new(weblet_file, debug: false).render(:trace, binding)
|
95
|
+
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usecase_tracer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -10,31 +10,75 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
13
|
+
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwNDExMjIzMTUxWhcN
|
15
|
+
MjIwNDExMjIzMTUxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDFDai+
|
17
|
+
6YuuB8rmV6WDKoaIc1qS/F0w/4eYEHnl93/O7VzPqodj0mzzhluHeImASJ46ZVfO
|
18
|
+
LTyw7BlV/76fd8aArIQmI1c1n8I8aSxr23+Gn+QJC/5pNWLw+egcEIi8V508Jqz8
|
19
|
+
c0SOAFZ1TYa9iGUcZgn6XTNJgBj54mkEBjpI/HNkxBdOCZj4SWWp1RXVdQC0o7sC
|
20
|
+
NVBrfAhFVYWOe1q2nJjATVPxhbJgF9JeAwANI6xXsNa0+QgrCQvtPffme1immZuJ
|
21
|
+
C6QI2k0mn4Wey8+VqhcacK4hl5ZjZROhr8b7ibFNlHmS9IpuN6ItHm51NHCEcP1S
|
22
|
+
szPfm87ygBc0AcgJ48Sw6YVtnjzlg69SpZeks6FJF1NwEnw+rb1t2JyWJYaRKHqZ
|
23
|
+
Kk6/jfVij7qrL44WNkeUnDiQxJf5dlqR0wpqioCkBE9Daa82UqBBlFBDjCgHVK4u
|
24
|
+
xq1BHvrYAqfZcFrOin1XD2U5CmpJUpOiQ0ynCZ5WZAh3Z4qsrsF++IveHwMCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUEbi896+N
|
26
|
+
SUqeGghjU0dJg0bPwL0wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
|
+
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAakqrVx74T8T4q7K/uWKZf8BURT8j6sbOuZZ0iOPT
|
29
|
+
crN+wuHLgknFi6HBhP3qSoEnKxo1CUYTKXHZoWWB2lHPSsPXGae+N8rQibMDDlvq
|
30
|
+
UB3w6iTFgCQwJdgP1KmWojTey1nv4Gz4LdVrbsPC6QZMKiT6INndBGvlU+U3xSp1
|
31
|
+
DNrF4jpwAJMXBDtbzByBKixhPCJ3lGFjhrh+nce2+TCXKYw4utmlW+Vw+I0btWK5
|
32
|
+
mWbGgwR72vmDzZ/Tx9vb5ADwE5xpTd5ogIpIUt78Luc+YKt6X1tzW5MVub70SzVD
|
33
|
+
ck9bPerVSgkkpnNzegpW4sUOz/h81AHM9yWhOqrfMNL1jjYwnXLA1w6DqTAOU7ZS
|
34
|
+
NAjx9mEIwRn8/Gn0FaPR3nrbmKFSFnUEeVwKpdouFbdGAM63jHr7jz8rDSH15sPk
|
35
|
+
Dzy4HHo15g2JVrInud59c/Vozc185I9X90D+9kxM0yHC3BVgLr/YRggkzloRkgy1
|
36
|
+
bZUVHBuHbmJ4JO2JZaxTxcRc
|
33
37
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
38
|
+
date: 2021-04-12 00:00:00.000000000 Z
|
35
39
|
dependencies:
|
36
40
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
41
|
+
name: clipboard
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.3'
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 1.3.5
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '1.3'
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.3.5
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: weblet
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0.3'
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.3.5
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0.3'
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 0.3.5
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: indented-tracer
|
38
82
|
requirement: !ruby/object:Gem::Requirement
|
39
83
|
requirements:
|
40
84
|
- - "~>"
|
@@ -42,7 +86,7 @@ dependencies:
|
|
42
86
|
version: '0.1'
|
43
87
|
- - ">="
|
44
88
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.1.
|
89
|
+
version: 0.1.5
|
46
90
|
type: :runtime
|
47
91
|
prerelease: false
|
48
92
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,13 +96,14 @@ dependencies:
|
|
52
96
|
version: '0.1'
|
53
97
|
- - ">="
|
54
98
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.1.
|
99
|
+
version: 0.1.5
|
56
100
|
description:
|
57
|
-
email:
|
101
|
+
email: digital.robertson@gmail.com
|
58
102
|
executables: []
|
59
103
|
extensions: []
|
60
104
|
extra_rdoc_files: []
|
61
105
|
files:
|
106
|
+
- data/weblet.txt
|
62
107
|
- lib/usecase_tracer.rb
|
63
108
|
homepage: https://github.com/jrobertson/usecase_tracer
|
64
109
|
licenses:
|
@@ -80,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
125
|
version: '0'
|
81
126
|
requirements: []
|
82
127
|
rubyforge_project:
|
83
|
-
rubygems_version: 2.
|
128
|
+
rubygems_version: 2.7.10
|
84
129
|
signing_key:
|
85
130
|
specification_version: 4
|
86
131
|
summary: Traces the methods used for each use case and returns them as raw Polyrex
|
metadata.gz.sig
CHANGED
Binary file
|