bixby-common 0.6.6 → 0.7.0

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: 87d3070441db547be5189c4ce392baafe2c83937
4
- data.tar.gz: 9dd0b345793a65a756acf37601c2840c3e787ec1
3
+ metadata.gz: 89822f2ea4d08e7cbb1ae43e46f272c4d2604de2
4
+ data.tar.gz: 3ac4db2fee93fd1047a3d24512d31b5fdc211648
5
5
  SHA512:
6
- metadata.gz: 0f5201dce873bb430e8d31fe8d3a596b4b1191cb11c53bfe34c8dea66743dd76cd4597a0bd170179ad624d30b6ac2cdbc5fed472d9e32aca71d5f33e93d6ccbd
7
- data.tar.gz: bfefd1e37777a206221e779158c7a5bfb7b29d235fa3173ef6bf8e8d2b18db97fb73e1ed708854ac20f6db3d2e053627eacb6b047fb17a6fc086d1512a7641c9
6
+ metadata.gz: c23a2ef1014f94b75f235180ab0bd5c266370e23f453d7ec4cb6263022e338271432bb3b60ee043d5164b1fb1c7e4eb92f56de56d3390203f599a4a93567339c
7
+ data.tar.gz: 4aedbf8ff1db64ac4f2011c4229b99b8b4e348ecb41e2438ff3dc704e1d3a2e1886e1fe2c1ff5d8dda67b13ee90d520fceaa5530e20e7e4589e98d602d21aec9
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.6
1
+ 0.7.0
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: bixby-common 0.6.6 ruby lib
5
+ # stub: bixby-common 0.7.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "bixby-common"
9
- s.version = "0.6.6"
9
+ s.version = "0.7.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Chetan Sarva"]
14
- s.date = "2015-06-18"
14
+ s.date = "2015-06-29"
15
15
  s.description = "Bixby Common files/libs"
16
16
  s.email = "chetan@pixelcop.net"
17
17
  s.extra_rdoc_files = [
@@ -10,6 +10,87 @@ module Bixby
10
10
  # A simple logging mixin
11
11
  module Log
12
12
 
13
+ class << self
14
+
15
+ def gems_regex
16
+ return @gems_regex if @gems_regex
17
+ gems_paths = (Gem.path | [Gem.default_dir]).map { |p| Regexp.escape(p) }
18
+ @gems_regex = %r{(#{gems_paths.join('|')})/gems/([^/]+)-([\w.]+)/(.*)}
19
+ end
20
+
21
+ def ruby_regex
22
+ @ruby_regex ||= %r{^#{ENV["MY_RUBY_HOME"]}/lib(/.*?)?/ruby/[\d.]+/(.*)$}
23
+ end
24
+
25
+ # Check whether the given logger is configured to append to the console (STDOUT)
26
+ #
27
+ # @param [Logging::Logger] logger
28
+ #
29
+ # @return [Boolean] true if writing to STDOUT
30
+ def console_appender?(logger)
31
+ logger.appenders.each do |a|
32
+ if a.kind_of? Logging::Appenders::Stdout then
33
+ return true
34
+ end
35
+ end
36
+
37
+ if logger.parent then
38
+ return console_appender?(logger.parent)
39
+ end
40
+
41
+ false # at root
42
+ end
43
+ alias_method :console?, :console_appender?
44
+ alias_method :stdout?, :console_appender?
45
+
46
+ def clean_ex_for_console(ex, logger)
47
+ console?(logger) ? clean_ex(ex) : ex
48
+ end
49
+
50
+ # Created a cleaned up exception, suitable for printing to the console
51
+ #
52
+ # This method should generally only be used for debugging as it can be quite slow.
53
+ #
54
+ # @param [Exception] ex
55
+ # @param [Boolean] exclude_gems Whether or not to exclude all gems from the stacktrace (default: true)
56
+ # @param [Boolean] exclude_dupes When exclude_gems is set to false, omits duplicate gems from the stacktrace (default: true)
57
+ #
58
+ # @return [String]
59
+ def clean_ex(ex, exclude_gems=true, exclude_dupes=true)
60
+ puts self
61
+ s = []
62
+ s << "<#{ex.class}> #{ex.message}"
63
+
64
+ last_gem = nil
65
+ ex.backtrace.each do |e|
66
+ if e =~ Log.gems_regex then
67
+ next if exclude_gems
68
+ gem_name = $2
69
+ gem_ver = $3
70
+ trace = $4
71
+ gem_str = "#{gem_name} (#{gem_ver})"
72
+ if !exclude_dupes || (last_gem.nil? || last_gem != gem_name) then
73
+ s << " #{gem_str} #{trace}"
74
+ elsif exclude_dupes && last_gem == gem_name then
75
+ # s << " " + (" "*(gem_str.size+1)) + "..."
76
+ end
77
+ last_gem = gem_name
78
+
79
+ elsif e =~ Log.ruby_regex then
80
+ next if exclude_gems
81
+ last_gem = nil
82
+ trace = $2
83
+ s << " ruby (#{RUBY_VERSION}) #{trace}"
84
+
85
+ else
86
+ s << " #{e}"
87
+ end
88
+ end
89
+
90
+ s.join("\n")
91
+ end
92
+ end
93
+
13
94
  # Get a log instance for this class
14
95
  #
15
96
  # @return [Logger]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bixby-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.6
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chetan Sarva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-18 00:00:00.000000000 Z
11
+ date: 2015-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bixby-auth