timed_report 0.0.5 → 0.0.6
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/example/simple_example.rb +2 -1
- data/lib/timed_report.rb +35 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 145a3cc0df83810fe9e9195f3c75fe1986e69e9c
|
4
|
+
data.tar.gz: c59286e6190f37a445560b42ae9d246fc59eccf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 988b2b12d3f521042d8770074f782de7866f05afdc0c3660e1ce38dc61b0c82c6af3e4ad498783701ab7e187b6363b2a58a3329f6033becd869e9fd28eb5149b
|
7
|
+
data.tar.gz: 1cfa0523a979b40c19128a3c6626a6e66293c2b0d53613b1a4d4414617ec0897c9b0cf4168dcfdb44523293cd91020ae9ed640b9cafd729af1593848d5517307
|
data/example/simple_example.rb
CHANGED
data/lib/timed_report.rb
CHANGED
@@ -9,12 +9,15 @@ class TimedReport
|
|
9
9
|
#
|
10
10
|
# Arguments:
|
11
11
|
# named: (String)
|
12
|
-
|
12
|
+
# enabled: (boolean)
|
13
|
+
def initialize named = nil, enabled = true
|
14
|
+
@enabled = enabled
|
15
|
+
@groups = {}
|
13
16
|
@intermediate_output = false
|
14
|
-
|
17
|
+
|
15
18
|
@start_time = Time.now
|
16
19
|
@step_time = Time.now
|
17
|
-
|
20
|
+
|
18
21
|
@output = "\n=========================="
|
19
22
|
|
20
23
|
if named != nil
|
@@ -30,6 +33,7 @@ class TimedReport
|
|
30
33
|
# Arguments:
|
31
34
|
# val: (Boolean)
|
32
35
|
def intermediate_output val = @intermediate_output
|
36
|
+
return nil unless @enabled
|
33
37
|
@intermediate_output = val
|
34
38
|
val
|
35
39
|
end
|
@@ -44,6 +48,7 @@ class TimedReport
|
|
44
48
|
# Arguments:
|
45
49
|
# method: (Proc or lambda)
|
46
50
|
def add_output_method method
|
51
|
+
return nil unless @enabled
|
47
52
|
@output_methods.push method
|
48
53
|
end
|
49
54
|
|
@@ -52,6 +57,7 @@ class TimedReport
|
|
52
57
|
# Example:
|
53
58
|
# >> tr.time_step()
|
54
59
|
def time_step
|
60
|
+
return nil unless @enabled
|
55
61
|
@step_time = Time.now
|
56
62
|
"❤"
|
57
63
|
end
|
@@ -65,6 +71,7 @@ class TimedReport
|
|
65
71
|
# txt: (String)
|
66
72
|
# with_time: (Boolean)
|
67
73
|
def add txt, with_time = true
|
74
|
+
return nil unless @enabled
|
68
75
|
if with_time
|
69
76
|
timing_info = "%.5f: " % (Time.now - @step_time)
|
70
77
|
time_step()
|
@@ -78,11 +85,36 @@ class TimedReport
|
|
78
85
|
"❤"
|
79
86
|
end
|
80
87
|
|
88
|
+
# Adds a time count with key between the last #add or #add_g or #time_step.
|
89
|
+
#
|
90
|
+
# Example:
|
91
|
+
# >> tr.add_g("one step")
|
92
|
+
#
|
93
|
+
# Arguments:
|
94
|
+
# group: (String)
|
95
|
+
# with_time: (Boolean)
|
96
|
+
def add_g group, with_time = true
|
97
|
+
return nil unless @enabled
|
98
|
+
@groups[group.to_sym] ||= 0
|
99
|
+
|
100
|
+
if with_time
|
101
|
+
@groups[group.to_sym] += (Time.now - @step_time)
|
102
|
+
time_step()
|
103
|
+
end
|
104
|
+
|
105
|
+
"❤"
|
106
|
+
end
|
107
|
+
|
81
108
|
# Finish the report. Call this add the end to print the report!
|
82
109
|
#
|
83
110
|
# Example:
|
84
111
|
# >> tr.finish()
|
85
112
|
def finish
|
113
|
+
return nil unless @enabled
|
114
|
+
@output += "\n--------------------------" if @groups.length > 0
|
115
|
+
@groups.each do |k,v|
|
116
|
+
@output += "\n#{k}: %.5f" % v
|
117
|
+
end
|
86
118
|
@output += "\n--------------------------"
|
87
119
|
@output += "\nTotal time: %.5f" % (Time.now-@start_time)
|
88
120
|
@output += "\n=========================="
|