micrologger 0.1.0 → 0.1.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: a7f36acc51fecb2796f86400c5358e6325ffe487
4
- data.tar.gz: f775d5803b48e4ca0a0f2beb36d34b8ca4ddda9e
3
+ metadata.gz: 728c345857be92e1e9d3ab6047c9577449a33f07
4
+ data.tar.gz: e8ae2bc302965bfdbb588f0fb06c871214548217
5
5
  SHA512:
6
- metadata.gz: 4fbbc44f38a544ceeb9e886add442c35ec406d89963454c3afc8f341243c0ef2b2051adf3b5ebab2bedf21e3bd07801acd7991d063be672db58809e6e609e727
7
- data.tar.gz: a69ea0864cfb03173eb6dcbfe489272be3be7aa4fca2c5c4e98757af7194ce1c8f702b88616f3ab29c46e6104efe9c152601c195d64600e6e6b60ad284db2b76
6
+ metadata.gz: 312b05c71b98d102c6b30b90999671d44c6a06fadbeff6df78396f04306f0b53711861af3a6c3b4d7b63aa1cd3fe741d413b2857f314d100bdb12a0f95834d70
7
+ data.tar.gz: c8dbaef0c32ddc5f4fb479e815f026eed17fcd0365645eca043b2f29eec755812e468103b31549a7a35896b3771f56dc182305780ce023002bfa4d8db952323d
data/.travis.yml CHANGED
@@ -1,17 +1,15 @@
1
+ sudo: false
2
+
1
3
  language: ruby
2
4
 
3
- script: ruby spec/*
5
+ script: bundle exec ruby spec/*
4
6
 
5
7
  rvm:
6
- - 2.2.1
7
- - 2.2.0
8
- - 2.1.5
9
- - 2.1.4
10
- - 2.1.3
11
- - 2.1.2
12
- - 2.1.1
13
- - 2.1.0
14
- - 2.0.0
8
+ - 2.2
9
+ - 2.1
10
+ - 2.0
15
11
  - rbx-2
16
12
  - jruby-head
17
13
 
14
+ cache:
15
+ - bundler
data/CHANGELOG.md CHANGED
@@ -1,4 +1,10 @@
1
- ### 0.1.0
1
+ # Changelog
2
+
3
+ ## 0.1.1
4
+
5
+ * Loosen paint dep
6
+
7
+ ## 0.1.0
2
8
 
3
9
  * Release
4
10
 
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ group :development do
6
+ gem 'minitest'
7
+ end
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ # # #
2
+ # Gem build and install task
3
+ gemspec_file = Dir['*.gemspec'].first
4
+ gemspec = eval File.read(gemspec_file), binding, gemspec_file
5
+ info = "#{gemspec.name} | #{gemspec.version} | " \
6
+ "#{gemspec.runtime_dependencies.size} dependencies | " \
7
+ "#{gemspec.files.size} files"
8
+
9
+ desc info
10
+ task :gem do
11
+ puts info + "\n\n"
12
+ print " "; sh "gem build #{gemspec_file}"
13
+ FileUtils.mkdir_p 'pkg'
14
+ FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", 'pkg'
15
+ puts; sh %{gem install --no-document pkg/#{gemspec.name}-#{gemspec.version}.gem}
16
+ end
17
+
data/lib/micrologger.rb CHANGED
@@ -1,10 +1,11 @@
1
+ require_relative 'micrologger/version'
2
+
1
3
  require 'microevent'
2
4
  require 'paint'
3
5
 
4
6
  class MicroLogger
5
7
  include MicroEvent
6
8
 
7
- VERSION = "0.1.0".freeze
8
9
  DEFAULT_HANDLERS = {
9
10
  stdout: lambda{ |message, extra|
10
11
  STDOUT.puts formatter(message, extra)
@@ -0,0 +1,3 @@
1
+ class MicroLogger
2
+ VERSION = '0.1.1'.freeze
3
+ end
data/micrologger.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- require File.expand_path('../lib/micrologger', __FILE__)
3
+ require File.expand_path('../lib/micrologger/version', __FILE__)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "micrologger"
@@ -17,6 +17,6 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
19
 
20
- gem.add_dependency 'microevent', '~> 1.0'
21
- gem.add_dependency 'paint', '~> 0.9'
20
+ gem.add_dependency 'microevent', '>= 0.9', '< 2.0'
21
+ gem.add_dependency 'paint', '~> 1.0'
22
22
  end
Binary file
@@ -0,0 +1,155 @@
1
+ require_relative '../lib/micrologger'
2
+ require 'minitest/autorun'
3
+
4
+ describe MicroLogger do
5
+ let :logger do
6
+ MicroLogger.new
7
+ end
8
+
9
+ describe '#log' do
10
+ it 'calls registered handler for called log level' do
11
+ result = []
12
+
13
+ logger.register :debug, proc{ result << 42 }
14
+ logger.log "msg", :debug
15
+
16
+ assert_equal [42], result
17
+ end
18
+
19
+ it 'it passes the message to the handler' do
20
+ result = []
21
+
22
+ logger.register :debug, proc{ |message| result << message }
23
+ logger.log "msg", :debug
24
+
25
+ assert_equal ["msg"], result
26
+ end
27
+
28
+ it 'passes an "extra" meta info hash to the handler' do
29
+ result = nil
30
+
31
+ logger.register :debug, proc{ |message, extra| result = extra }
32
+ logger.log "msg", :debug
33
+
34
+ assert_equal Hash, result.class
35
+ end
36
+
37
+ it 'contains the current time in extra hash' do
38
+ result = nil
39
+
40
+ logger.register :debug, proc{ |message, extra| result = extra }
41
+ logger.log "msg", :debug
42
+
43
+ assert_equal Time, result[:time].class
44
+ end
45
+
46
+ it 'contains the log level in extra hash' do
47
+ result = nil
48
+
49
+ logger.register :debug, proc{ |message, extra| result = extra }
50
+ logger.log "msg", :debug
51
+
52
+ assert_equal :debug, result[:level]
53
+ end
54
+
55
+ it 'works with multiple handlers' do
56
+ result = []
57
+
58
+ logger.register :debug, proc{ result << 42 }
59
+ logger.register :debug, proc{ result << 23 }
60
+ logger.log "msg", :debug
61
+
62
+ assert_equal [42, 23], result
63
+ end
64
+
65
+ it 'will use the :info log level if none is given' do
66
+ result = []
67
+
68
+ logger.register :info, proc{ result << 42 }
69
+ logger.log "msg"
70
+
71
+ assert_equal [42], result
72
+ end
73
+ end
74
+
75
+ describe '#register' do
76
+ it 'will bind a new proc handler for a log level' do
77
+ result = []
78
+ fn = proc{ result << 42 }
79
+
80
+ logger.register :debug, fn
81
+ logger.log "msg", :debug
82
+
83
+ assert_equal [42], result
84
+ end
85
+
86
+ it 'also takes a block as handler' do
87
+ result = []
88
+
89
+ logger.register(:debug){ result << 42 }
90
+ logger.log "msg", :debug
91
+
92
+ assert_equal [42], result
93
+ end
94
+
95
+ it 'will raise an ArgumentError if no handler given' do
96
+ result = nil
97
+
98
+ begin
99
+ logger.register :debug
100
+ rescue => result
101
+ end
102
+
103
+ assert_equal ArgumentError, result.class
104
+ end
105
+
106
+ it 'will use the :info log level if is none is given' do
107
+ result = []
108
+
109
+ logger.register{ result << 42 }
110
+ logger.log "msg"
111
+
112
+ assert_equal [42], result
113
+ end
114
+ end
115
+
116
+ describe '#unregister' do
117
+ it 'will unregister a handler for a log level' do
118
+ result = []
119
+ fn = proc{ result << 42 }
120
+
121
+ logger.register :debug, fn
122
+ logger.unregister :debug, fn
123
+ logger.log "msg", :debug
124
+
125
+ assert_equal [], result
126
+ end
127
+
128
+ it 'will unregister all handlers if none is given' do
129
+ result = []
130
+ fn = proc{ result << 42 }
131
+
132
+ logger.register :debug, fn
133
+ logger.unbind :debug
134
+ logger.log "msg", :debug
135
+
136
+ assert_equal [], result
137
+ end
138
+ end
139
+
140
+ describe 'DEFAULT_HANDLERS' do
141
+ it 'contains a :stdout handler' do
142
+ # assert_output "msg", "" do
143
+ # logger.register :debug, :stdout
144
+ # logger.log "msg", :debug
145
+ # end
146
+ end
147
+
148
+ it 'contains a :stderr handler' do
149
+ # assert_output "", "msg" do
150
+ # logger.register :debug, :stderr
151
+ # logger.log "msg", :debug
152
+ # end
153
+ end
154
+ end
155
+ end
metadata CHANGED
@@ -1,43 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: micrologger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-12 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: microevent
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '0.9'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '1.0'
29
+ version: '0.9'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: paint
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.9'
39
+ version: '1.0'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0.9'
46
+ version: '1.0'
41
47
  description: A minimal logger based on MicroEvent.rb
42
48
  email: mail@janlelis.de
43
49
  executables: []
@@ -51,9 +57,12 @@ files:
51
57
  - Gemfile.lock
52
58
  - MIT-LICENSE.txt
53
59
  - README.md
54
- - lib/.micrologger.rb.swp
60
+ - Rakefile
55
61
  - lib/micrologger.rb
62
+ - lib/micrologger/version.rb
56
63
  - micrologger.gemspec
64
+ - pkg/micrologger-0.1.0.gem
65
+ - spec/micrologger_spec.rb
57
66
  homepage: https://github.com/janlelis/micrologger
58
67
  licenses:
59
68
  - MIT
@@ -74,9 +83,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
83
  version: '0'
75
84
  requirements: []
76
85
  rubyforge_project:
77
- rubygems_version: 2.4.5
86
+ rubygems_version: 2.4.6
78
87
  signing_key:
79
88
  specification_version: 4
80
89
  summary: A minimal logger.
81
- test_files: []
90
+ test_files:
91
+ - spec/micrologger_spec.rb
82
92
  has_rdoc:
Binary file