buzztools 0.0.6 → 0.0.7

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWE5MTlhNmY0NzQ0ZjU4MmEwNjBlZTRhNmEzOWMwYTdmOTY3YWI0NQ==
5
+ data.tar.gz: !binary |-
6
+ MjA1NGY4MjY2NTUyYWY5NWM2MTU1YWU1NDMxMjg2MzkxNTFlZDE2Ng==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZDYyMWY1ZDk4NTIyZWY5ZjU3ODExZGI2M2U3YTQyNzI0ZDEzNzhmMDgyNGZl
10
+ MmZjZjZjOTA2NDIxNDU3ZWUxNDRkZjYxYThhZGNhZWU4NDliYmNlZDYwYTBk
11
+ MWQ2MWU4ZjQ5ZDQ1MGJiMDcxMTQzOTdmMjA5ZmYyYWUzOWRmNjA=
12
+ data.tar.gz: !binary |-
13
+ YjI2ZTk3OGQ5ZDIwZGJhMzBhNzY2NmE4NzVlNjQ2ZjI0NjkyY2RkNjk3ZWM5
14
+ MjgwY2IwYzU0NmEzZWM0OTgyM2EzOGU1NjAyYTQ1MGM4NDczZTdhOGQ2OWZh
15
+ ODY4MzY0YmEyMmQxY2VhYWE5ZDk4MWE0NjE1MWE3ODE2YzEyODA=
@@ -40,10 +40,6 @@ module ExtendArray
40
40
  filter_exclude!(aValues,aArray.clone)
41
41
  end
42
42
 
43
- def to_nil
44
- self.empty? ? nil : self
45
- end
46
-
47
43
  def to_csv
48
44
  def as_hash(aItem)
49
45
  aItem = aItem.attributes if aItem.respond_to?(:attributes)
@@ -1,19 +1,11 @@
1
1
  Bignum.class_eval do
2
2
 
3
- def to_nil
4
- self==0 ? nil : self
5
- end
6
-
7
3
  def to_b(aDefault=false)
8
4
  self==0 ? false : true
9
5
  end
10
6
 
11
7
  end
12
8
 
13
- Float.class_eval do
14
-
15
- def to_nil
16
- (self==0 || !self.finite?) ? nil : self
17
- end
18
-
19
- end
9
+ # Float.class_eval do
10
+ #
11
+ # end
@@ -1,9 +1,5 @@
1
1
  Fixnum.class_eval do
2
2
 
3
- def to_nil
4
- self==0 ? nil : self
5
- end
6
-
7
3
  def to_b(aDefault=false)
8
4
  self==0 ? false : true
9
5
  end
@@ -69,10 +69,6 @@ module HashUtils
69
69
  return result
70
70
  end
71
71
 
72
- def to_nil
73
- self.empty? ? nil : self
74
- end
75
-
76
72
  end
77
73
 
78
74
  Hash.class_eval do
@@ -1,9 +1,5 @@
1
1
  NilClass.class_eval do
2
2
 
3
- def to_nil
4
- nil
5
- end
6
-
7
3
  def to_b(aDefault=false)
8
4
  false
9
5
  end
@@ -16,10 +12,6 @@ end
16
12
 
17
13
  TrueClass.class_eval do
18
14
 
19
- def to_nil
20
- self
21
- end
22
-
23
15
  def to_b(aDefault=false)
24
16
  self
25
17
  end
@@ -28,10 +20,6 @@ end
28
20
 
29
21
  FalseClass.class_eval do
30
22
 
31
- def to_nil
32
- nil
33
- end
34
-
35
23
  def to_b(aDefault=false)
36
24
  self
37
25
  end
@@ -153,15 +153,6 @@ String.class_eval do
153
153
  result
154
154
  end
155
155
 
156
- def to_nil(aPattern=nil)
157
- return nil if self.empty?
158
- if aPattern
159
- return nil if (aPattern.is_a? Regexp) && (self =~ aPattern)
160
- return nil if aPattern.to_s == self
161
- end
162
- self
163
- end
164
-
165
156
  def to_b(aDefault=false)
166
157
  return true if ['1','yes','y','true','on'].include?(self.downcase)
167
158
  return false if ['0','no','n','false','off'].include?(self.downcase)
@@ -233,8 +224,3 @@ String.class_eval do
233
224
  end
234
225
 
235
226
 
236
- Symbol.class_eval do
237
- def to_nil
238
- self
239
- end
240
- end
@@ -0,0 +1,117 @@
1
+ module Buzztools
2
+
3
+ lgr = (defined? ActiveSupport::BufferedLogger) ? ActiveSupport::BufferedLogger : Logger
4
+
5
+
6
+ # The default level is DEBUG to pass all output to the sub-loggers, but the sub-loggers level will also determine what is output to their destinations
7
+ class MultiLogger < Logger
8
+
9
+ attr_reader :loggers
10
+ # if !self.instance_methods.include?(:formatter)
11
+ # def formatter
12
+ # @formatter ||= Logger::Formatter.new
13
+ # end
14
+ # attr_writer :formatter
15
+ # end
16
+
17
+ def initialize(aLoggers)
18
+ super(nil)
19
+ @level = Severity::DEBUG
20
+ @loggers = aLoggers.is_a?(Array) ? aLoggers : [aLoggers]
21
+ end
22
+
23
+ def add(severity, message = nil, progname = nil, &block)
24
+ return true if !@loggers
25
+ severity ||= UNKNOWN
26
+ @loggers.each do |lr|
27
+ block_given? ? lr.add(severity, message, progname, &block) : lr.add(severity, message, progname)
28
+ end
29
+ true
30
+ end
31
+
32
+ alias log add
33
+
34
+ def <<(msg)
35
+ @loggers.each do |lr|
36
+ lr << msg
37
+ end
38
+ end
39
+
40
+ def close
41
+ @loggers.each do |lr|
42
+ lr.close
43
+ end
44
+ end
45
+
46
+ end
47
+
48
+ #DEBUG D
49
+ #INFO
50
+ #WARN ?
51
+ #ERROR !
52
+ #FATAL F
53
+ #UNKNOWN U
54
+
55
+ # Logger that mostly works like a STDOUT logger, except that warnings and above get sent to STDERR instead
56
+
57
+ class ConsoleLogger < lgr
58
+
59
+ class ReportFormatter < Logger::Formatter
60
+ def call(severity, time, progname, msg)
61
+ msg2str(msg)+"\n"
62
+ end
63
+ end
64
+
65
+ def initialize(aErrLevel = Severity::WARN)
66
+ super(STDOUT)
67
+ self.formatter = ReportFormatter.new
68
+ self.level = Severity::INFO
69
+ self << "\n"
70
+ @err_logger = Logger.new(STDERR)
71
+ @err_level = aErrLevel
72
+ @err_logger.formatter = ReportFormatter.new
73
+ end
74
+
75
+ if !self.instance_methods.include?(:formatter)
76
+ def formatter
77
+ @formatter ||= Logger::Formatter.new
78
+ end
79
+ attr_writer :formatter
80
+ end
81
+
82
+ alias_method :orig_add, :add
83
+
84
+ def add(severity, message = nil, progname = nil, &block)
85
+ if severity >= @err_level
86
+ block_given? ? @err_logger.add(severity, message, progname, &block) : @err_logger.add(severity, message, progname)
87
+ else
88
+ block_given? ? orig_add(severity, message, progname, &block) : orig_add(severity, message, progname)
89
+ end
90
+ end
91
+
92
+ alias log add
93
+
94
+ def <<(msg)
95
+ dev = if self.class.superclass==ActiveSupport::BufferedLogger
96
+ @log_dest
97
+ else
98
+ @logdev
99
+ end
100
+ unless dev.nil?
101
+ dev.write(msg)
102
+ end
103
+ end
104
+
105
+
106
+ def close
107
+ begin
108
+ @logdev.close if @logdev
109
+ ensure
110
+ @err_logger.close
111
+ end
112
+ end
113
+
114
+ end
115
+
116
+
117
+ end
@@ -1,3 +1,4 @@
1
+ # from https://github.com/buzzware/buzztools/blob/master/lib/buzztools/versionary.rb
1
2
  # Versionary is a mixin for implementing versioning of models with ActiveRecord in Rails 3.2+
2
3
  # It attempts to be better than other solutions eg.
3
4
  #
@@ -0,0 +1,19 @@
1
+ module Buzztools
2
+ module Shell
3
+ module_function
4
+
5
+ # from whenever crontab
6
+ #/bin/bash -l -c 'cd /var/www/homeopen.com/releases/20140714092436 && bin/rails runner -e production '\''scripts/update_contacts.rb'\'' >> log/cron.log 2>&1'
7
+
8
+ def run(aCommand)
9
+ `/bin/bash -l -c 'cd "#{Rails.root.to_s}" && #{aCommand} 2>&1'` # bin/rails runner -e production '\''scripts/update_contacts.rb'\'' >> log/cron.log 2>&1'`
10
+ end
11
+
12
+ def runner(aScript,*args)
13
+ pars = (args || []).join(' ')
14
+ cmd = "rails runner -e #{Rails.env} #{aScript}"
15
+ cmd += ' ' + pars if pars
16
+ run(cmd)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,64 @@
1
+ Array.class_eval do
2
+ def to_nil
3
+ self.empty? ? nil : self
4
+ end
5
+ end
6
+
7
+ Bignum.class_eval do
8
+ def to_nil
9
+ self==0 ? nil : self
10
+ end
11
+ end
12
+
13
+ Float.class_eval do
14
+ def to_nil
15
+ (self==0 || !self.finite?) ? nil : self
16
+ end
17
+ end
18
+
19
+ Fixnum.class_eval do
20
+ def to_nil
21
+ self==0 ? nil : self
22
+ end
23
+ end
24
+
25
+ Hash.class_eval do
26
+ def to_nil
27
+ self.empty? ? nil : self
28
+ end
29
+ end
30
+
31
+ TrueClass.class_eval do
32
+ def to_nil
33
+ self
34
+ end
35
+ end
36
+
37
+ FalseClass.class_eval do
38
+ def to_nil
39
+ nil
40
+ end
41
+ end
42
+
43
+ NilClass.class_eval do
44
+ def to_nil
45
+ nil
46
+ end
47
+ end
48
+
49
+ Symbol.class_eval do
50
+ def to_nil
51
+ self
52
+ end
53
+ end
54
+
55
+ String.class_eval do
56
+ def to_nil(aPattern=nil)
57
+ return nil if self.empty?
58
+ if aPattern
59
+ return nil if (aPattern.is_a? Regexp) && (self =~ aPattern)
60
+ return nil if aPattern.to_s == self
61
+ end
62
+ self
63
+ end
64
+ end
@@ -1,3 +1,3 @@
1
1
  module Buzztools
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buzztools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
5
- prerelease:
4
+ version: 0.0.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gary McGhee
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-05-20 00:00:00.000000000 Z
11
+ date: 2014-11-24 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -66,39 +61,36 @@ files:
66
61
  - lib/buzztools/extend_object.rb
67
62
  - lib/buzztools/extend_string.rb
68
63
  - lib/buzztools/extend_time.rb
64
+ - lib/buzztools/extras/logging.rb
69
65
  - lib/buzztools/extras/shell_extras.rb
66
+ - lib/buzztools/extras/versionary.rb
70
67
  - lib/buzztools/file.rb
68
+ - lib/buzztools/shell.rb
69
+ - lib/buzztools/to_nil.rb
71
70
  - lib/buzztools/version.rb
72
- - lib/buzztools/versionary.rb
73
71
  homepage: https://github.com/buzzware/buzztools
74
72
  licenses:
75
73
  - MIT
74
+ metadata: {}
76
75
  post_install_message:
77
76
  rdoc_options: []
78
77
  require_paths:
79
78
  - lib
80
79
  required_ruby_version: !ruby/object:Gem::Requirement
81
- none: false
82
80
  requirements:
83
81
  - - ! '>='
84
82
  - !ruby/object:Gem::Version
85
83
  version: '0'
86
- segments:
87
- - 0
88
- hash: 2474753617006984353
89
84
  required_rubygems_version: !ruby/object:Gem::Requirement
90
- none: false
91
85
  requirements:
92
86
  - - ! '>='
93
87
  - !ruby/object:Gem::Version
94
88
  version: '0'
95
- segments:
96
- - 0
97
- hash: 2474753617006984353
98
89
  requirements: []
99
90
  rubyforge_project:
100
- rubygems_version: 1.8.23
91
+ rubygems_version: 2.2.2
101
92
  signing_key:
102
- specification_version: 3
93
+ specification_version: 4
103
94
  summary: reusable function library
104
95
  test_files: []
96
+ has_rdoc: