google_scribe 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/google_scribe.rb +28 -0
- 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: 3b13a884bf1fde4eb94d26ce5eeac1fca524028e
|
4
|
+
data.tar.gz: ca8d5ec664673d2859fa3c53e4b49dc9dcddad45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ddf107301563b5e26624d248fd859466dd7fd2182241274a26b6c47386cc76fd1bcb3d874aee14da0684956aec4442e02cc1a3063e7dfab65f1817ab4daf112a
|
7
|
+
data.tar.gz: 9f693bffae16181616fa963c6d34ea27d694168550fbb42d2d5ef79be048b32b6ec2cf23efbe8ce96f8434cfe7298282dd374cd855143c1b737e4c6b147f42a1
|
data/lib/google_scribe.rb
CHANGED
@@ -10,4 +10,32 @@ class GoogleScribe
|
|
10
10
|
def send_data(data)
|
11
11
|
GoogleSheetsClient.post(data, self.url)
|
12
12
|
end
|
13
|
+
|
14
|
+
# Will log the data returned by the block
|
15
|
+
# If the process fails, it will log the error message instead
|
16
|
+
# If preserve_exceptions is false, exceptions will fail silently
|
17
|
+
# otherwise, the exception will be logged normally
|
18
|
+
def log_process(process_name, preserve_exceptions = true, &block)
|
19
|
+
begin
|
20
|
+
block_data = block.call
|
21
|
+
process_data = { "Process" => process_name, "Success" => true }
|
22
|
+
|
23
|
+
if block_data.is_a?(Hash)
|
24
|
+
self.send_data(block_data.merge(process_data))
|
25
|
+
else
|
26
|
+
self.send_data(process_data)
|
27
|
+
end
|
28
|
+
|
29
|
+
rescue Exception => e
|
30
|
+
lines = e.backtrace.reject{|s| s.include?("/gems/") }
|
31
|
+
error_message = "#{ e.message } : #{ lines.first }"
|
32
|
+
|
33
|
+
process_data = { "Process" => process_name, "Success" => false,
|
34
|
+
"Error Message" => error_message }
|
35
|
+
|
36
|
+
self.send_data(process_data)
|
37
|
+
|
38
|
+
raise e if preserve_exceptions
|
39
|
+
end
|
40
|
+
end
|
13
41
|
end
|