mini_logger 0.5.4 → 0.6.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.
data/lib/mini_logger.rb CHANGED
@@ -3,8 +3,10 @@ require 'yaml'
3
3
  require 'forwardable'
4
4
 
5
5
 
6
- module MiniLogger
7
- extend self
6
+ class MiniLogger
7
+ extend Forwardable
8
+
9
+ def_delegators :@logger, :debug, :info, :warn, :error, :fatal, :debug?, :info?, :warn?, :error?, :fatal?
8
10
 
9
11
  DEBUG = :debug
10
12
  INFO = :info
@@ -28,93 +30,71 @@ module MiniLogger
28
30
  ::Logger::FATAL => FATAL
29
31
  }
30
32
 
31
- @logger = nil
32
-
33
- def self.standarize_log_level(ll)
33
+ private
34
+ def self.standarize_log_level(level)
34
35
 
35
- case ll
36
- when String then LLM[ll.downcase.to_sym]
37
- when Symbol then LLM[ll.to_s.downcase.to_sym]
36
+ case level
37
+ when String then LLM[level.downcase.to_sym]
38
+ when Symbol then LLM[level.to_s.downcase.to_sym]
38
39
  end
39
40
  end
40
41
 
41
42
 
42
- def self.validate_log_level?(ll)
43
+ public
44
+ def self.validate_log_level?(level)
43
45
 
44
- case ll
45
- when String then LLM.has_key?(ll.downcase.to_sym)
46
- when Symbol then LLM.has_key?(ll.to_s.downcase.to_sym)
46
+ case level
47
+ when String then LLM.has_key?(level.downcase.to_sym)
48
+ when Symbol then LLM.has_key?(level.to_s.downcase.to_sym)
47
49
  else false
48
50
  end
49
51
  end
50
52
 
51
53
 
52
- def configure(*arguments)
54
+ def self.configure(*arguments)
53
55
 
54
- configuration = {}
56
+ configuration = Hash.new
55
57
 
56
58
  case arguments[0]
57
- when String
58
- configuration.merge!(YAML.load_file(arguments[0]))
59
- when Hash
60
- configuration.merge!(arguments[0])
61
- else
62
- configuration = { :dev=>STDERR, :level=>:debug }
59
+ when String then configuration.merge!(YAML.load_file(arguments[0]))
60
+ when Hash then configuration.merge!(arguments[0])
61
+ else configuration = { :dev=>STDERR, :level=>:debug }
63
62
  end
64
63
 
65
64
  configuration = { :log_channel=>STDERR, :log_level=>:info }.merge(configuration)
66
65
 
67
- configuration[:dev] = configuration[:log_channel] unless configuration[:dev]
68
- configuration[:level] = configuration[:log_level] unless configuration[:level]
66
+ configuration[:dev] ||= configuration[:log_channel]
67
+ configuration[:level] ||= configuration[:log_level]
69
68
 
70
69
  raise ArgumentError.new("Invalid log level") unless validate_log_level?(configuration[:level])
71
70
 
72
- configuration[:dev] = case configuration[:dev]
73
- when /(STDOUT|stdout)/ then STDOUT
74
- when /(STDERR|stderr)/ then STDERR
75
- when :stdout then STDOUT
76
- when :stderr then STDERR
71
+ configuration[:dev] = case configuration[:dev].to_s.downcase
72
+ when /stdout/ then STDOUT
73
+ when /stderr/ then STDERR
77
74
  else configuration[:dev]
78
75
  end
79
76
 
80
- @logger = ::Logger.new(configuration[:dev])
81
- @logger.level = standarize_log_level(configuration[:level])
82
-
83
- self
77
+ self.new(configuration)
84
78
  end
85
79
 
86
- def level=(nll)
80
+ def initialize(options)
87
81
 
88
- if @logger
82
+ @logger = ::Logger.new(options[:dev])
83
+ @logger.level = MiniLogger.standarize_log_level(options[:level])
89
84
 
90
- raise ArgumentError.new("Invalid log level #{nll.class.name}:'#{nll}'") unless validate_log_level?(nll)
91
- @logger.level = standarize_log_level(nll)
92
-
93
- self
94
- end
85
+ self
95
86
  end
96
87
 
97
- def level!(nll)
88
+ def level=(level)
98
89
 
99
- if @logger
100
-
101
- raise ArgumentError.new("Invalid log level #{nll.class.name}:'#{nll}'") unless validate_log_level?(nll)
102
- @logger.level = standarize_log_level(nll)
103
-
104
- self
105
- end
90
+ raise ArgumentError.new("Invalid log level #{level.class.name}:'#{level}'") unless MiniLogger.validate_log_level?(level)
91
+ @logger.level = MiniLogger.standarize_log_level(level)
92
+
93
+ self
106
94
  end
107
95
 
108
96
  def level
109
97
 
110
- RLLM[@logger.level] if @logger
98
+ RLLM[@logger.level]
111
99
  end
112
-
113
- def method_missing(method, *arguments, &block)
114
-
115
- if @logger && [:debug, :info, :warn, :error, :fatal, :debug?, :info?, :warn?, :error?, :fatal?].include?(method)
116
-
117
- @logger.send(method, *arguments, &block)
118
- end
119
- end
120
100
  end
data/lib/version.rb CHANGED
@@ -3,8 +3,8 @@ module MiniLogger
3
3
 
4
4
  INFO = {
5
5
  :major =>0,
6
- :minor =>5,
7
- :patch =>4
6
+ :minor =>6,
7
+ :patch =>1
8
8
  }
9
9
 
10
10
  def self.number(version_info=INFO)
@@ -1,7 +1,6 @@
1
1
  $:.unshift(File.join(File.dirname(__FILE__), '..'))
2
2
  $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
3
3
 
4
-
5
4
  require 'rubygems'
6
5
  require 'tmpdir'
7
6
  require 'delorean'
@@ -61,13 +60,8 @@ class TestMiniLogger < Test::Unit::TestCase
61
60
  assert(test_logger.info?, "Log level:'#{test_logger.level}'")
62
61
 
63
62
  ##
64
- # Mix configuration interface
65
- test_logger = MiniLogger.configure(:log_channel=>STDERR, :level=>:warn)
66
- assert(test_logger.warn?, "Log level:'#{test_logger.level}")
67
-
68
- ##
69
- # Mix configuration interface
70
- test_logger = MiniLogger.configure(:dev=>STDERR, :log_level=>:error)
63
+ # New configuration interface
64
+ test_logger = MiniLogger.configure(:dev=>STDERR, :level=>:error)
71
65
  assert(test_logger.error?, "Log level:'#{test_logger.level}")
72
66
  end
73
67
 
@@ -122,13 +116,21 @@ class TestMiniLogger < Test::Unit::TestCase
122
116
 
123
117
  test_logger.level = MiniLogger::ERROR
124
118
  assert test_logger.error?
125
- assert_equal(test_logger.level, MiniLogger::ERROR)
126
119
 
127
- assert test_logger.level!(MiniLogger::DEBUG).debug?
128
- assert test_logger.level!(MiniLogger::INFO).info?
129
- assert test_logger.level!(MiniLogger::WARN).warn?
130
- assert test_logger.level!(MiniLogger::ERROR).error?
131
- assert test_logger.level!(MiniLogger::FATAL).fatal?
120
+ test_logger.level=MiniLogger::DEBUG
121
+ assert test_logger.debug?
122
+
123
+ test_logger.level=MiniLogger::INFO
124
+ assert test_logger.info?
125
+
126
+ test_logger.level=MiniLogger::WARN
127
+ assert test_logger.warn?
128
+
129
+ test_logger.level=MiniLogger::ERROR
130
+ assert test_logger.error?
131
+
132
+ test_logger.level=MiniLogger::FATAL
133
+ assert test_logger.fatal?
132
134
  end
133
135
 
134
136
 
metadata CHANGED
@@ -1,45 +1,59 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mini_logger
3
- version: !ruby/object:Gem::Version
4
- version: 0.5.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 5
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 1
10
+ version: 0.6.1
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Javier Juarez
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-07-07 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: jeweler
16
- requirement: &2156654140 !ruby/object:Gem::Requirement
17
+
18
+ date: 2011-07-07 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ requirement: &id001 !ruby/object:Gem::Requirement
17
22
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 3
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ version_requirements: *id001
22
31
  type: :development
32
+ name: jeweler
23
33
  prerelease: false
24
- version_requirements: *2156654140
25
- - !ruby/object:Gem::Dependency
26
- name: rcov
27
- requirement: &2156648060 !ruby/object:Gem::Requirement
34
+ - !ruby/object:Gem::Dependency
35
+ requirement: &id002 !ruby/object:Gem::Requirement
28
36
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ hash: 3
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ version_requirements: *id002
33
45
  type: :development
46
+ name: rcov
34
47
  prerelease: false
35
- version_requirements: *2156648060
36
48
  description: A minimal standard Logger wrapper perfect for CLI applications
37
49
  email: javier.juarez@gmail.com
38
50
  executables: []
51
+
39
52
  extensions: []
40
- extra_rdoc_files:
53
+
54
+ extra_rdoc_files:
41
55
  - README.rdoc
42
- files:
56
+ files:
43
57
  - lib/mini_logger.rb
44
58
  - lib/version.rb
45
59
  - test/helpers/tail_file_helper.rb
@@ -47,28 +61,37 @@ files:
47
61
  - test/unit_extensions.rb
48
62
  - README.rdoc
49
63
  homepage: http://github.com/jjuarez/mini_logger
50
- licenses:
64
+ licenses:
51
65
  - MIT
52
66
  post_install_message:
53
67
  rdoc_options: []
54
- require_paths:
68
+
69
+ require_paths:
55
70
  - lib
56
- required_ruby_version: !ruby/object:Gem::Requirement
71
+ required_ruby_version: !ruby/object:Gem::Requirement
57
72
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
81
  none: false
64
- requirements:
65
- - - ! '>='
66
- - !ruby/object:Gem::Version
67
- version: '0'
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ hash: 3
86
+ segments:
87
+ - 0
88
+ version: "0"
68
89
  requirements: []
90
+
69
91
  rubyforge_project: http://github.com/jjuarez/mini_logger
70
92
  rubygems_version: 1.8.5
71
93
  signing_key:
72
94
  specification_version: 3
73
95
  summary: A tiny logger utility for small applications
74
96
  test_files: []
97
+