complain 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a78852e2ff4d9f535aee93606f77044efaeb0233
4
- data.tar.gz: 3b7d011692d0926f939fee3fc54c8cb77992576d
3
+ metadata.gz: faccbd58fd96f069387098f98b534ad68ea14df6
4
+ data.tar.gz: 0544e7958322b2b8b5ae1bac4f7a6692901f9666
5
5
  SHA512:
6
- metadata.gz: a4d6ae8db2e4b3a876db7cee1a8bdd352c3d1f863e39b596b58ae44392bfdc7f95c5df34c38bfadd4d9f3e140beffb677abf21bad889b09b122e645a72e80af9
7
- data.tar.gz: a3eec24b42e59a77fce35e4c8cb42e81f6581dc75e1d31f96f1ad0096663ef717c314ae198e8166eef4810b0c6794238bd3767e104300494ef2b525836e7140b
6
+ metadata.gz: d8c6aef76d026d1b6d0b52f3651841764cfb71387f09fb786f8c1f88ce898d795a77020231c60304e2f0f9059a2acca34a85376e568d7f830fc551954fa87c13
7
+ data.tar.gz: 612b7ec3fb72c233c42a08da250161e5c38ec324753d8b20bea7797a4e38c0828e970b90e46784725a035e94894289b64bf5d1d49f378cbfc3d08235da3783cd
data/README.md CHANGED
@@ -22,8 +22,6 @@ Just replace
22
22
 
23
23
  ```ruby
24
24
  rescue => exc
25
- $stderr.puts
26
- $stderr.puts Time.now
27
25
  $stderr.puts exc.message
28
26
  $stderr.puts exc.backtrace.join("\n")
29
27
  end
data/lib/complain.rb CHANGED
@@ -16,22 +16,37 @@ module Complain
16
16
  # Calls exception writer
17
17
  # @param [Exception] exc Exception to write.
18
18
  # @param [Mixed] logger Logger - can be `:stderr`, `:stdout` or should respond to `error` or `puts`
19
+ # @option [Boolean] :with_time - Write time to log, default: false
20
+ # @option [Boolean] :prefix - Prefix for entire log message (empty by default)
21
+ # @option [Boolean] :postfix - Postfix for entire log message (empty by default)
22
+ # @option [Boolean] :separator - String to use for concatenation ("\n" by default)
19
23
  # @option [Boolean] :skip_exc - By default (false) internal exceptions will be rescued and written to logger,
20
24
  # and exception will be raised only if second writing is failed;
21
25
  # when set to true exception will not be handled.
22
- def self.call(exc, logger = :stderr, skip_exc: false)
26
+ def self.call(exc,
27
+ logger = :stderr,
28
+ with_time: false,
29
+ prefix: '',
30
+ postfix: '',
31
+ separator: "\n",
32
+ skip_exc: false)
33
+
23
34
  message = if exc.is_a?(Exception)
24
- [exc.message, exc.backtrace.join("\n")].join("\n")
35
+ [exc.message, exc.backtrace.join(separator)]
25
36
  elsif exc.is_a?(String)
26
- exc
37
+ [exc]
27
38
  elsif exc.respond_to?(:to_s)
28
- exc.to_s
39
+ [exc.to_s]
29
40
  elsif exc.respond_to?(:inspect)
30
- exc.inspect
41
+ [exc.inspect]
31
42
  else
32
- "Message can't be processed at #{caller.join("\n")}"
43
+ ["Message can't be processed at #{caller.join(separator)}"]
33
44
  end
34
45
 
46
+ message.unshift(Time.now.to_s) if with_time
47
+ message = message.join(separator)
48
+ message = prefix + message + postfix
49
+
35
50
  if logger.nil? || :stderr == logger
36
51
  $stderr.puts message
37
52
  elsif :stdout == logger
@@ -1,3 +1,3 @@
1
1
  module Complain
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: complain
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
  - Roman