google_scribe 1.0.0 → 1.0.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google_scribe.rb +28 -0
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e2953a8fa4d59f49165dd5f7004ab7facaf490d
4
- data.tar.gz: caedc6357101cd040b166e63b520e181241e9eed
3
+ metadata.gz: 3b13a884bf1fde4eb94d26ce5eeac1fca524028e
4
+ data.tar.gz: ca8d5ec664673d2859fa3c53e4b49dc9dcddad45
5
5
  SHA512:
6
- metadata.gz: aea28d6f01ae0f9417c426c247ef223475796a51243113c8b2b5e5d823bf898c7d17940de4bb1687480cc7ad3bc4b73426f4ad8dac6dcaa130ce92eaf66543f6
7
- data.tar.gz: 139f0dcc5e81841e0532f22a9a9d906a437631d52a308d73f8d13a8c829244bf4b3518341079ee584c811ab03993332a62a7613cf0b3de989ad09793114524df
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_scribe
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Serrid