press 0.16 → 0.17
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/example.rb +145 -0
- data/lib/press/printer.rb +34 -30
- metadata +3 -2
data/lib/example.rb
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
$:.unshift(File.expand_path(File.join(Dir.getwd, "lib")))
|
2
|
+
require "press"
|
3
|
+
|
4
|
+
module Plain
|
5
|
+
extend Press
|
6
|
+
|
7
|
+
def self.run
|
8
|
+
puts "########## running ##########"
|
9
|
+
|
10
|
+
pd hello: "world"
|
11
|
+
puts
|
12
|
+
|
13
|
+
r = pd hello: "world" do
|
14
|
+
42
|
15
|
+
end
|
16
|
+
puts r
|
17
|
+
puts
|
18
|
+
|
19
|
+
pdfm __FILE__, __method__, hello: "world"
|
20
|
+
puts
|
21
|
+
|
22
|
+
r = pdfm __FILE__, __method__, hello: "world" do
|
23
|
+
42
|
24
|
+
end
|
25
|
+
puts r
|
26
|
+
puts
|
27
|
+
|
28
|
+
pd hello: "world" do
|
29
|
+
1 / 0
|
30
|
+
end rescue
|
31
|
+
puts
|
32
|
+
|
33
|
+
pdfm __FILE__, __method__, hello: "world" do
|
34
|
+
1 / 0
|
35
|
+
end rescue
|
36
|
+
puts
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
module Measure
|
41
|
+
extend Press
|
42
|
+
|
43
|
+
def self.run
|
44
|
+
puts "########## running ##########"
|
45
|
+
|
46
|
+
mpd hello: "world"
|
47
|
+
puts
|
48
|
+
|
49
|
+
r = mpd hello: "world" do
|
50
|
+
42
|
51
|
+
end
|
52
|
+
puts r
|
53
|
+
puts
|
54
|
+
|
55
|
+
mpdfm __FILE__, __method__, hello: "world"
|
56
|
+
puts
|
57
|
+
|
58
|
+
r = mpdfm __FILE__, __method__, hello: "world" do
|
59
|
+
42
|
60
|
+
end
|
61
|
+
puts r
|
62
|
+
puts
|
63
|
+
|
64
|
+
begin
|
65
|
+
1 / 0
|
66
|
+
rescue => e
|
67
|
+
mpde e, hello: "world"
|
68
|
+
mpdfme __FILE__, __method__, e, hello: "world"
|
69
|
+
end
|
70
|
+
puts
|
71
|
+
|
72
|
+
mpd hello: "world" do
|
73
|
+
1 / 0
|
74
|
+
end rescue
|
75
|
+
puts
|
76
|
+
|
77
|
+
mpdfm __FILE__, __method__, hello: "world" do
|
78
|
+
1 / 0
|
79
|
+
end rescue
|
80
|
+
puts
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
module MeasureEvent
|
85
|
+
extend Press
|
86
|
+
|
87
|
+
def self.run
|
88
|
+
puts "########## running ##########"
|
89
|
+
|
90
|
+
mpd hello: "world", event: "sunset"
|
91
|
+
puts
|
92
|
+
|
93
|
+
r = mpd hello: "world", event: "sunset" do
|
94
|
+
42
|
95
|
+
end
|
96
|
+
puts r
|
97
|
+
puts
|
98
|
+
|
99
|
+
mpdfm __FILE__, __method__, hello: "world", event: "sunset"
|
100
|
+
puts
|
101
|
+
|
102
|
+
r = mpdfm __FILE__, __method__, hello: "world", event: "sunset" do
|
103
|
+
42
|
104
|
+
end
|
105
|
+
puts r
|
106
|
+
puts
|
107
|
+
|
108
|
+
begin
|
109
|
+
1 / 0
|
110
|
+
rescue => e
|
111
|
+
mpde e, hello: "world", event: "sunset"
|
112
|
+
mpdfme __FILE__, __method__, e, hello: "world", event: "sunset"
|
113
|
+
end
|
114
|
+
puts
|
115
|
+
|
116
|
+
mpd hello: "world", event: "sunset" do
|
117
|
+
1 / 0
|
118
|
+
end rescue
|
119
|
+
puts
|
120
|
+
|
121
|
+
mpdfm __FILE__, __method__, hello: "world", event: "sunset" do
|
122
|
+
1 / 0
|
123
|
+
end rescue
|
124
|
+
puts
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
#Plain.mctx nil, nil
|
129
|
+
#Plain.run
|
130
|
+
#Plain.mctx nil, app: "slasher", deploy: "staging"
|
131
|
+
#Plain.run
|
132
|
+
|
133
|
+
#Measure.mctx nil, nil
|
134
|
+
#Measure.run
|
135
|
+
#Measure.mctx ["ripper", "production"].join("."), nil
|
136
|
+
#Measure.run
|
137
|
+
#Measure.mctx ["screamer", "testing"].join("."), app: "shreiker", deploy: "beta"
|
138
|
+
#Measure.run
|
139
|
+
|
140
|
+
#MeasureEvent.mctx nil, nil
|
141
|
+
#MeasureEvent.run
|
142
|
+
#MeasureEvent.mctx ["ripper", "production"].join("."), nil
|
143
|
+
#MeasureEvent.run
|
144
|
+
MeasureEvent.mctx ["screamer", "testing"].join("."), app: "shreiker", deploy: "beta"
|
145
|
+
MeasureEvent.run
|
data/lib/press/printer.rb
CHANGED
@@ -12,45 +12,37 @@ module Press
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.pd(*data, &blk)
|
15
|
-
write
|
15
|
+
write(hashify(*data, {}), &blk)
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.mpd(*data, &blk)
|
19
|
-
mwrite
|
19
|
+
mwrite(@mtx, hashify(*data, {}), &blk)
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.pdfm(file, m, *data, &blk)
|
23
|
-
write
|
23
|
+
write(hashify(*data, :file => File.basename(file, ".rb"), :fn => m), &blk)
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.mpdfm(file, m, *data, &blk)
|
27
|
-
mwrite
|
28
|
-
end
|
29
|
-
|
30
|
-
def self.pde(e, *data)
|
31
|
-
write $stderr, hashify(*data, :at => "error", :class => e.class, :message => e.message.lines.to_a.first, :trace => e.backtrace.map { |i| i.match(/(#{Gem.dir}|#{Dir.getwd})?\/(.*):in (.*)/) && $2 }[0..5].compact.inspect)
|
27
|
+
mwrite([@mtx, File.basename(file, ".rb"), m].compact.join("."), hashify(*data, :file => File.basename(file, ".rb"), :fn => m), &blk)
|
32
28
|
end
|
33
29
|
|
34
30
|
def self.mpde(e, *data)
|
35
|
-
|
31
|
+
ewrite(hashify(*data, errorify(e)))
|
36
32
|
end
|
37
33
|
|
38
|
-
def self.
|
39
|
-
|
34
|
+
def self.mpdfme(file, m, e, *data)
|
35
|
+
ewrite(hashify(*data, errorify(e).merge(:file => File.basename(file, ".rb"), :fn => m)))
|
40
36
|
end
|
41
37
|
|
42
|
-
def self.
|
43
|
-
|
38
|
+
def self.errorify(e)
|
39
|
+
{ :at => "error", :class => e.class, :message => e.message.lines.to_a.first, :trace => e.backtrace.map { |i| i.match(/(#{Gem.dir}|#{Dir.getwd})?\/(.*):in (.*)/) && $2 }[0..5].compact.inspect}
|
44
40
|
end
|
45
41
|
|
46
42
|
def self.hashify(*data, initial)
|
47
43
|
data.compact.reduce(initial.merge(@ctx || {})) { |d, v| d.merge v }
|
48
44
|
end
|
49
45
|
|
50
|
-
def self.mtag(tag, data)
|
51
|
-
data.tap { |d| d[:measure] = [tag, d[:event]].compact.join(".") if tag }
|
52
|
-
end
|
53
|
-
|
54
46
|
def self.stringify(data)
|
55
47
|
data.map do |(k, v)|
|
56
48
|
case v
|
@@ -66,32 +58,44 @@ module Press
|
|
66
58
|
"#{k}=#{v.iso8601}"
|
67
59
|
else
|
68
60
|
v_str = v.to_s.strip
|
69
|
-
v_str.match(/\s/) ? "#{k}=\
|
61
|
+
v_str.match(/\s/) ? "#{k}=\'#{v_str}\'" : "#{k}=#{v_str}"
|
70
62
|
end
|
71
63
|
end.join(" ")
|
72
64
|
end
|
73
65
|
|
74
|
-
def self.
|
66
|
+
def self.ewrite(data)
|
67
|
+
$stderr.puts stringify(data.tap { |d| d[:measure] = [@mtx, "error"].compact.join(".") })
|
68
|
+
$stderr.flush
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.write(data, &blk)
|
75
72
|
unless blk
|
76
|
-
|
77
|
-
|
73
|
+
$stdout.puts stringify(data)
|
74
|
+
$stdout.flush
|
78
75
|
else
|
79
76
|
start = Time.now
|
80
|
-
write
|
81
|
-
|
77
|
+
write({ :at => "start" }.merge(data))
|
78
|
+
begin
|
79
|
+
yield.tap { write({ :at => "finish", :elapsed => Time.now - start }.merge(data)) }
|
80
|
+
rescue => e
|
81
|
+
ewrite(errorify(e).merge(data))
|
82
|
+
raise e
|
83
|
+
end
|
82
84
|
end
|
83
85
|
end
|
84
86
|
|
85
|
-
def self.mwrite(
|
87
|
+
def self.mwrite(tag, data, &blk)
|
86
88
|
unless blk
|
87
|
-
|
88
|
-
|
89
|
+
$stdout.puts stringify(data.tap { |d| d[:measure] = [tag, d[:event]].compact.join(".") if tag })
|
90
|
+
$stdout.flush
|
89
91
|
else
|
90
92
|
start = Time.now
|
91
|
-
write
|
92
|
-
|
93
|
-
elapsed = Time.now - start
|
94
|
-
|
93
|
+
write({ :at => "start" }.merge(data))
|
94
|
+
begin
|
95
|
+
yield.tap { elapsed = Time.now - start; mwrite(tag, { :at => "finish", :elapsed => elapsed }.merge(data).tap { |d| d[:val] = elapsed if tag }) }
|
96
|
+
rescue => e
|
97
|
+
ewrite(errorify(e).merge(data))
|
98
|
+
raise e
|
95
99
|
end
|
96
100
|
end
|
97
101
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: press
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.17'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-18 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Data and exception printer.
|
15
15
|
email: mark.fine@gmail.com
|
@@ -17,6 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- lib/example.rb
|
20
21
|
- lib/press/printer.rb
|
21
22
|
- lib/press.rb
|
22
23
|
- Gemfile
|