press 0.16 → 0.17
Sign up to get free protection for your applications and to get access to all the features.
- 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
|