active_logger 0.0.1 → 0.1.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
  SHA256:
3
- metadata.gz: 71919373d3548a6235481bcde18d1f57e7b27ba4cb3ddfba9f702f33ec0059b5
4
- data.tar.gz: 4b10cf93a185786691e502662aac2a2476a70f8ce827c8bc8cb0470512e51799
3
+ metadata.gz: a53153fa5f398f75e6a8585e5783498c10bf297c84ff9c39b16bebd6fd7f3886
4
+ data.tar.gz: 0210fc6195bb5b39a03ddb328f87bcf05ef9b8773298a2aef9ffbd3c57f5ca04
5
5
  SHA512:
6
- metadata.gz: 23b83fbafb6ffb289666b92edabe366e2df27428bba02e9c55a04210a8925603ed0ed27dae80181382704135cefd333bf25a70a23f314b7ae054f6a4ec4f2658
7
- data.tar.gz: 8a088e823256366fbf30e1871cea085baf44e90fbd25cb839216714fb77a541d9426e96646c95ea45eb83338e34e2233a2d205de0ac8b5431b22a8f850402392
6
+ metadata.gz: 46610e887005de89191beffdd331fad4c4a3fb9df9a36d16cb2d70ef9ca0004d9767950b42ad35d3288e13b22b7ad4a274578b7664f758d909a83fafe7544403
7
+ data.tar.gz: 70daa0ec58408cab9b947b605dbc5a17ed5316db4c48cee433f5b0f6ffc09d9e36f5711f480f126040f4ab49ad8a4eadd612dede491f7cc0d546946972da2986
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /log/*.log
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
@@ -0,0 +1,13 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ require:
4
+ - rubocop-rspec
5
+
6
+ AllCops:
7
+ NewCops: enable
8
+
9
+ Layout/LineLength:
10
+ Max: 130
11
+
12
+ Metrics/BlockLength:
13
+ Enabled: false
@@ -0,0 +1,12 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2020-04-19 22:24:15 +0300 using RuboCop version 0.82.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Configuration parameters: CountComments, ExcludedMethods.
11
+ Metrics/MethodLength:
12
+ Max: 12
@@ -2,5 +2,20 @@
2
2
  language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.7.0
5
+ - 2.3
6
+ - 2.4
7
+ - 2.5
8
+ - 2.6
9
+ - 2.7
10
+ - ruby-head
6
11
  before_install: gem install bundler -v 2.1.2
12
+ install:
13
+ - bundle install --retry=3
14
+ script:
15
+ - bundle exec rubocop --parallel
16
+ - bundle exec rspec
17
+ matrix:
18
+ allow_failures:
19
+ - rvm: 2.3
20
+ - rvm: 2.4
21
+ - rvm: ruby-head
data/Gemfile CHANGED
@@ -7,3 +7,5 @@ gemspec
7
7
 
8
8
  gem 'rake', '~> 12.0'
9
9
  gem 'rspec', '~> 3.0'
10
+ gem 'rubocop', '~> 0.81', require: false
11
+ gem 'rubocop-rspec', '~> 1.38', require: false
@@ -1,13 +1,31 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_logger (0.0.1)
4
+ active_logger (0.1.0)
5
+ activesupport (>= 5.0.0)
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
8
9
  specs:
10
+ activesupport (6.0.2.1)
11
+ concurrent-ruby (~> 1.0, >= 1.0.2)
12
+ i18n (>= 0.7, < 2)
13
+ minitest (~> 5.1)
14
+ tzinfo (~> 1.1)
15
+ zeitwerk (~> 2.2)
16
+ ast (2.4.0)
17
+ concurrent-ruby (1.1.5)
9
18
  diff-lcs (1.3)
19
+ i18n (1.8.2)
20
+ concurrent-ruby (~> 1.0)
21
+ jaro_winkler (1.5.4)
22
+ minitest (5.14.0)
23
+ parallel (1.19.1)
24
+ parser (2.7.1.1)
25
+ ast (~> 2.4.0)
26
+ rainbow (3.0.0)
10
27
  rake (12.3.3)
28
+ rexml (3.2.4)
11
29
  rspec (3.9.0)
12
30
  rspec-core (~> 3.9.0)
13
31
  rspec-expectations (~> 3.9.0)
@@ -21,6 +39,22 @@ GEM
21
39
  diff-lcs (>= 1.2.0, < 2.0)
22
40
  rspec-support (~> 3.9.0)
23
41
  rspec-support (3.9.2)
42
+ rubocop (0.82.0)
43
+ jaro_winkler (~> 1.5.1)
44
+ parallel (~> 1.10)
45
+ parser (>= 2.7.0.1)
46
+ rainbow (>= 2.2.2, < 4.0)
47
+ rexml
48
+ ruby-progressbar (~> 1.7)
49
+ unicode-display_width (>= 1.4.0, < 2.0)
50
+ rubocop-rspec (1.38.1)
51
+ rubocop (>= 0.68.1)
52
+ ruby-progressbar (1.10.1)
53
+ thread_safe (0.3.6)
54
+ tzinfo (1.2.6)
55
+ thread_safe (~> 0.1)
56
+ unicode-display_width (1.7.0)
57
+ zeitwerk (2.2.2)
24
58
 
25
59
  PLATFORMS
26
60
  ruby
@@ -29,6 +63,8 @@ DEPENDENCIES
29
63
  active_logger!
30
64
  rake (~> 12.0)
31
65
  rspec (~> 3.0)
66
+ rubocop (~> 0.81)
67
+ rubocop-rspec (~> 1.38)
32
68
 
33
69
  BUNDLED WITH
34
70
  2.1.2
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # ActiveLogger
1
+ [![Gem Version](http://img.shields.io/gem/v/active_logger.svg)](http://badge.fury.io/rb/active_logger) [![Build Status](https://travis-ci.com/jurrick/active_logger.svg?branch=master)](https://travis-ci.com/jurrick/active_logger)
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/active_logger`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ # ActiveLogger
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ A rich logger extending the capabilities of the ActiveSupport logger
6
6
 
7
7
  ## Installation
8
8
 
@@ -22,7 +22,34 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
- TODO: Write usage instructions here
25
+ ### Basic example
26
+
27
+ ```ruby
28
+ logger = ActiveLogger.new :stdout
29
+ logger.info 'test' # => test
30
+ ```
31
+
32
+ There are 3 types:
33
+
34
+ * `:stdout` : Messages will be written to STDOUT
35
+ * `:stderr` : Messages will be written to STDERR
36
+ * `:file` : Messages will be written to a file
37
+
38
+ ### File example
39
+
40
+ ```ruby
41
+ logger = ActiveLogger.new :file, filename: 'log/development.log', keep: 30, size: 10
42
+ logger.info 'test'
43
+
44
+ # Alternative
45
+ logger = ActiveLogger.new 'log/development.log', keep: 30, size: 10
46
+ logger.info 'test'
47
+ ```
48
+
49
+ where:
50
+ * filename - full path to logfile for writing
51
+ * keep - count of files for keeping
52
+ * size - maximum bytes for one file
26
53
 
27
54
  ## Development
28
55
 
@@ -32,8 +59,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
59
 
33
60
  ## Contributing
34
61
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/active_logger.
36
-
62
+ Bug reports and pull requests are welcome on GitHub at https://github.com/jurrick/active_logger.
37
63
 
38
64
  ## License
39
65
 
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
 
@@ -9,12 +9,12 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ['jurianp@gmail.com']
10
10
 
11
11
  spec.summary = 'Logger based on ActiveSupport::Logger'
12
- # spec.homepage = 'TODO: Put your gem\'s website or public repo URL here.'
12
+ spec.homepage = 'https://github.com/jurrick/active_logger'
13
13
  spec.license = 'MIT'
14
14
  spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
15
15
 
16
- # spec.metadata['homepage_uri'] = spec.homepage
17
- # spec.metadata['source_code_uri'] = 'TODO: Put your gem\'s public repo URL here.'
16
+ spec.metadata['homepage_uri'] = spec.homepage
17
+ spec.metadata['source_code_uri'] = spec.homepage
18
18
  # spec.metadata['changelog_uri'] = 'TODO: Put your gem\'s CHANGELOG.md URL here.'
19
19
 
20
20
  # Specify which files should be added to the gem when it is released.
@@ -25,4 +25,6 @@ Gem::Specification.new do |spec|
25
25
  spec.bindir = 'exe'
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ['lib']
28
+
29
+ spec.add_runtime_dependency('activesupport', '>= 5.0.0')
28
30
  end
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'active_logger'
@@ -1,6 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_logger/version'
3
+ require 'active_support/logger'
4
4
 
5
5
  module ActiveLogger # :nodoc:
6
+ class << self
7
+ def new(*args, &block)
8
+ ActiveLogger::Logger.new(*args, &block)
9
+ end
10
+ end
6
11
  end
12
+
13
+ require File.dirname(__FILE__) + '/active_logger/logger'
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveLogger
4
+ module Logger # :nodoc:
5
+ class AdapterNotFound < StandardError; end
6
+
7
+ class << self
8
+ def new(*args, &_block)
9
+ # extract options
10
+ options = args.last.is_a?(Hash) ? args.pop : {}
11
+
12
+ setup(args.first, options)
13
+ end
14
+
15
+ def setup(type, options)
16
+ case type
17
+ when :stdout, STDOUT
18
+ ActiveSupport::Logger.new(STDOUT)
19
+ when :stderr, STDERR
20
+ ActiveSupport::Logger.new(STDERR)
21
+ when String, Pathname
22
+ ActiveSupport::Logger.new(type.to_s, options[:keep], options[:size])
23
+ when :file
24
+ ActiveSupport::Logger.new(options[:filename], options[:keep], options[:size])
25
+ else
26
+ raise AdapterNotFound
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveLogger
4
- VERSION = '0.0.1'
4
+ VERSION = '0.1.0'
5
5
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yury Snegirev
@@ -9,7 +9,21 @@ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2020-04-19 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 5.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 5.0.0
13
27
  description:
14
28
  email:
15
29
  - jurianp@gmail.com
@@ -20,6 +34,8 @@ files:
20
34
  - ".editorconfig"
21
35
  - ".gitignore"
22
36
  - ".rspec"
37
+ - ".rubocop.yml"
38
+ - ".rubocop_todo.yml"
23
39
  - ".travis.yml"
24
40
  - Gemfile
25
41
  - Gemfile.lock
@@ -30,11 +46,15 @@ files:
30
46
  - bin/console
31
47
  - bin/setup
32
48
  - lib/active_logger.rb
49
+ - lib/active_logger/logger.rb
33
50
  - lib/active_logger/version.rb
34
- homepage:
51
+ - log/.keep
52
+ homepage: https://github.com/jurrick/active_logger
35
53
  licenses:
36
54
  - MIT
37
- metadata: {}
55
+ metadata:
56
+ homepage_uri: https://github.com/jurrick/active_logger
57
+ source_code_uri: https://github.com/jurrick/active_logger
38
58
  post_install_message:
39
59
  rdoc_options: []
40
60
  require_paths: