swak 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.
Files changed (3) hide show
  1. data/lib/swak.rb +8 -0
  2. data/lib/swak/logger.rb +34 -0
  3. metadata +3 -2
data/lib/swak.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require File.join(File.dirname(__FILE__), 'swak', 'logger')
2
+
1
3
  class String
2
4
  AnsiMap = {"k" => 0,
3
5
  "r" => 1,
@@ -55,6 +57,12 @@ class NilClass
55
57
  undef_method(:to_i)
56
58
  end
57
59
 
60
+ class Float
61
+ def is_i?
62
+ return self == self.to_i
63
+ end
64
+ end
65
+
58
66
 
59
67
  #######################################################
60
68
  #######################################################
@@ -0,0 +1,34 @@
1
+ require 'logger'
2
+
3
+ module Swak
4
+ class Logger
5
+ attr_accessor :num_indents, :progname, :logger, :indent_str
6
+
7
+ def initialize(progname=nil, fout=STDERR)
8
+ @num_indents = 1
9
+ @indent_str = " "
10
+ @progname = progname
11
+ @logger = ::Logger.new(fout)
12
+
13
+ @logger.datetime_format = "%m-%d %H:%M:%S"
14
+ @logger.formatter = proc { |severity, datetime, progname, msg|
15
+ prog_str = progname ? "[#{progname}] " : ""
16
+ "#{prog_str}#{datetime.strftime(@logger.datetime_format)}#{@indent_str * @num_indents}#{msg}\n"
17
+ }
18
+ end
19
+
20
+ def indent(levels=1)
21
+ @num_indents += levels
22
+ @num_indents = [@num_indents, 1].max
23
+ end
24
+
25
+ def unindent(levels=1)
26
+ @num_indents -= levels
27
+ @num_indents = [@num_indents, 1].max
28
+ end
29
+
30
+ def puts(msg)
31
+ @logger.info(@progname) {msg}
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: swak
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.6
5
+ version: 0.0.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jesse Rodriguez
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-01-19 00:00:00 Z
13
+ date: 2012-04-27 00:00:00 Z
14
14
  dependencies: []
15
15
 
16
16
  description: Random tools and mixins
@@ -23,6 +23,7 @@ extra_rdoc_files: []
23
23
 
24
24
  files:
25
25
  - lib/swak.rb
26
+ - lib/swak/logger.rb
26
27
  homepage: http://rubygems.org/gems/swak
27
28
  licenses: []
28
29