Skip to content
This repository has been archived by the owner on Apr 16, 2023. It is now read-only.

Commit

Permalink
ode review for frozen string literal: declare magick comment and free…
Browse files Browse the repository at this point in the history
…ze method. Both is to ensure literal works on old Ruby VM.
  • Loading branch information
christiankakesa committed May 5, 2016
1 parent 385d204 commit 6fef16e
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 42 deletions.
10 changes: 6 additions & 4 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# frozen_string_literal: true

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'yard'

RSpec::Core::RakeTask.new('spec')
RSpec::Core::RakeTask.new('spec'.freeze)

task default: :spec

desc 'Generate documentation'
desc 'Generate documentation'.freeze
YARD::Rake::YardocTask.new do |t|
t.files = %w(lib/**/*.rb - LICENSE.txt)
t.options = %w(--main README.md --no-private --protected)
t.files = %w(lib/**/*.rb - LICENSE.txt).map(&:freeze).freeze
t.options = %w(--main README.md --no-private --protected).map(&:freeze).freeze
end
2 changes: 2 additions & 0 deletions lib/log_tribe/loggers.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

require 'logger'

module LogTribe
Expand Down
2 changes: 2 additions & 0 deletions lib/log_tribe/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

module LogTribe
VERSION = '0.2.10'.freeze
end
37 changes: 19 additions & 18 deletions log_tribe.gemspec
Original file line number Diff line number Diff line change
@@ -1,35 +1,36 @@
# coding: utf-8
# frozen_string_literal: true

lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'log_tribe/version'

Gem::Specification.new do |spec|
spec.name = 'log_tribe'
spec.name = 'log_tribe'.freeze
spec.version = LogTribe::VERSION
spec.authors = ['Christian Kakesa']
spec.email = ['christian.kakesa@gmail.com']
spec.authors = ['Christian Kakesa'.freeze]
spec.email = ['christian.kakesa@gmail.com'.freeze]

spec.summary = 'Write logs messages to multiple destinations.'
spec.summary = 'Write logs messages to multiple destinations.'.freeze
spec.description = spec.summary
spec.homepage = 'https://github.com/fenicks/log_tribe'
spec.license = 'MIT'
spec.homepage = 'https://github.com/fenicks/log_tribe'.freeze
spec.license = 'MIT'.freeze

# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
# delete this section to allow pushing this gem to any host.
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.' unless spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'.freeze unless spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = 'https://rubygems.org'.freeze

spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
spec.bindir = 'bin'
spec.bindir = 'bin'.freeze
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.require_paths = ['lib']
spec.require_paths = ['lib'.freeze]

spec.add_development_dependency 'bundler', '~> 1.7', '>= 1.7.0'
spec.add_development_dependency 'rake', '~> 0'
spec.add_development_dependency 'rubocop', '~> 0'
spec.add_development_dependency 'rspec', '~> 3.3'
spec.add_development_dependency 'simplecov', '~> 0'
spec.add_development_dependency 'coveralls', '~> 0'
spec.add_development_dependency 'bundler'.freeze, '~> 1.7'.freeze, '>= 1.7.0'.freeze
spec.add_development_dependency 'rake'.freeze, '~> 0'.freeze
spec.add_development_dependency 'rubocop'.freeze, '~> 0'.freeze
spec.add_development_dependency 'rspec'.freeze, '~> 3.3'.freeze
spec.add_development_dependency 'simplecov'.freeze, '~> 0'.freeze
spec.add_development_dependency 'coveralls'.freeze, '~> 0'.freeze
spec.add_development_dependency 'memory_profiler'.freeze, '~> 0'.freeze
spec.add_development_dependency 'yard', '~> 0'
spec.add_development_dependency 'yard'.freeze, '~> 0'.freeze
end
42 changes: 22 additions & 20 deletions spec/log_tribe_spec.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

require 'spec_helper'

# Fluentd mock class
Expand All @@ -17,24 +19,24 @@ def post(_tag, map)
end

describe LogTribe do
it 'LogTribe has a version number' do
it 'LogTribe has a version number'.freeze do
expect(LogTribe::VERSION).not_to be nil
end

describe 'Tests LogTribe instance without @tag_name' do
describe 'Tests LogTribe instance without @tag_name'.freeze do
let! :logger do
LogTribe::Loggers.new(::Logger.new(STDOUT))
end

it 'create a non null LogTribe#loggers instance' do
it 'create a non null LogTribe#loggers instance'.freeze do
expect(logger).not_to be nil
end

it '@tag_name must be nil' do
it '@tag_name must be nil'.freeze do
expect(logger.tag_name).to be nil
end

it 'set a specific @level' do
it 'set a specific @level'.freeze do
expect(logger.level).to eq(::Logger::DEBUG)
logger.level = ::Logger::INFO
expect(logger.level).to eq(::Logger::INFO)
Expand All @@ -43,27 +45,27 @@ def post(_tag, map)
end
end

it 'set a specific @progname' do
it 'set a specific @progname'.freeze do
expect(logger.progname).to be nil
progname_ = 'log_tribe_program'
progname_ = 'log_tribe_program'.freeze
logger.progname = progname_
expect(logger.progname).to eq(progname_)
logger.loggers.each do |l|
expect(l.progname).to eq(progname_) if l.respond_to?(:progname)
end
end

it 'set a specific @datetime_format' do
it 'set a specific @datetime_format'.freeze do
expect(logger.datetime_format).to be nil
datetime_format_ = '%Y-%m-%dT%H:%M:%S+%:z'
datetime_format_ = '%Y-%m-%dT%H:%M:%S+%:z'.freeze
logger.datetime_format = datetime_format_
expect(logger.datetime_format).to eq(datetime_format_)
logger.loggers.each do |l|
expect(l.datetime_format).to eq(datetime_format_) if l.respond_to?(:datetime_format)
end
end

it 'set a specific @formatter' do
it 'set a specific @formatter'.freeze do
expect(logger.formatter).to be nil
formatter_proc_ = proc { |severity, datetime, _progname, msg| "#{severity} [#{datetime}]: #{msg}\n" }
logger.formatter = formatter_proc_
Expand All @@ -73,42 +75,42 @@ def post(_tag, map)
end
end

it '@default_formatter must be an instance of ::Logger::Formatter' do
it '@default_formatter must be an instance of ::Logger::Formatter'.freeze do
expect(logger.default_formatter).to be_a(::Logger::Formatter)
end

it 'reasonably test a #add wrapper method through logger#info severity' do
it 'reasonably test a #add wrapper method through logger#info severity'.freeze do
console_ = StringIO.new
logger_ = LogTribe::Loggers.new([::Logger.new(console_), Fluent::Logger::MockFluentLogger.new(console_)])
expect { logger_.info 'This this a message' }.not_to raise_error(Exception)
expect { logger_.info 'This this a message'.freeze }.not_to raise_error(Exception)
end

it 'reasonably test a #<< wrapper method (raw logging)' do
it 'reasonably test a #<< wrapper method (raw logging)'.freeze do
console_ = StringIO.new
logger_ = LogTribe::Loggers.new([::Logger.new(console_), Fluent::Logger::MockFluentLogger.new(console_)])
expect { logger_ << 'This this a message' }.not_to raise_error(Exception)
expect { logger_ << 'This this a message'.freeze }.not_to raise_error(Exception)
end

it 'reasonably test a #close wrapper method' do
it 'reasonably test a #close wrapper method'.freeze do
logger_ = LogTribe::Loggers.new(::Logger.new(StringIO.new))
expect { logger_.close }.not_to raise_error(Exception) if logger_.respond_to?(:close)
end
end

describe 'Tests LogTribe instance with "tag_name"' do
describe 'Tests LogTribe instance with "tag_name"'.freeze do
let! :tag_name do
'test_tag'
'test_tag'.freeze
end

let! :logger_tag do
LogTribe::Loggers.new(::Logger.new(STDOUT), tag_name: tag_name)
end

it 'create a non null LogTribe#loggers instance' do
it 'create a non null LogTribe#loggers instance'.freeze do
expect(logger_tag).not_to be nil
end

it '@tag_name must be set' do
it '@tag_name must be set'.freeze do
expect(logger_tag.tag_name).to eq(tag_name)
end
end
Expand Down

0 comments on commit 6fef16e

Please sign in to comment.