diff --git a/.rubocop.yml b/.rubocop.yml index 5b837e2..9b994b6 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,2 +1,3 @@ -Style/HashSyntax: - Enabled: true +Style/PreferredHashMethods: + Exclude: + - 'lib/mixlib/log/formatter.rb' diff --git a/.travis.yml b/.travis.yml index 64cc679..72a3f67 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,21 @@ +sudo: false language: ruby cache: bundler -sudo: false -rvm: - - 2.4.3 - - 2.5.0 + +matrix: + include: + - rvm: 2.2.10 + - rvm: 2.3.7 + - rvm: 2.4.4 + - rvm: 2.5.1 + - rvm: ruby-head + allow_failures: + - rvm: ruby-head + branches: only: - - master -script: - - bundle exec rake + - master + +bundler_args: --without docs development + +script: bundle exec rake diff --git a/Gemfile b/Gemfile index 13ce910..432ee84 100755 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,28 @@ source "https://rubygems.org" gemspec +group :docs do + gem "yard" + gem "redcarpet" + gem "github-markup" +end + +group :test do + gem "chefstyle", git: "https://github.com/chef/chefstyle.git", branch: "master" + gem "rspec", "~> 3.7" + gem "cucumber" + gem "rake" +end + group :development do - gem "rdoc" - gem "bundler" + gem "pry" + gem "pry-byebug" + gem "pry-stack_explorer" + gem "rb-readline" end + +instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"] + +# If you want to load debugging tools into the bundle exec sandbox, +# add these additional dependencies into Gemfile.local +eval_gemfile(__FILE__ + ".local") if File.exist?(__FILE__ + ".local") diff --git a/README.md b/README.md index 3a31a6b..785cce8 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,21 @@ Log.init('/tmp/logfile', 7) # log to /tmp/logfile, rotate every day Enjoy! +## Documentation + +All documentation is written using YARD. You can generate a by running: + +``` +rake docs +``` + ## Contributing -For information on contributing to this project see +For information on contributing to this project please see our [Contributing Documentation](https://github.com/chef/chef/blob/master/CONTRIBUTING.md) -## License +## License & Copyright -- Copyright:: Copyright (c) 2008-2016 Chef Software, Inc. +- Copyright:: Copyright (c) 2008-2018 Chef Software, Inc. - License:: Apache License, Version 2.0 ```text diff --git a/Rakefile b/Rakefile index f691381..1b9ec9a 100644 --- a/Rakefile +++ b/Rakefile @@ -1,22 +1,14 @@ require "bundler/gem_tasks" -require "rdoc/task" require "rspec/core/rake_task" require "cucumber/rake/task" -RSpec::Core::RakeTask.new(:spec) do |spec| - spec.pattern = "spec/**/*_spec.rb" -end - task default: [:style, :spec, :features] -# For rubygems-test -task test: :spec +Bundler::GemHelper.install_tasks -RDoc::Task.new do |rdoc| - rdoc.rdoc_dir = "rdoc" - rdoc.title = "mixlib-log #{Mixlib::Log::VERSION}" - rdoc.rdoc_files.include("README*") - rdoc.rdoc_files.include("lib/**/*.rb") +desc "Run specs" +RSpec::Core::RakeTask.new(:spec) do |spec| + spec.pattern = "spec/**/*_spec.rb" end Cucumber::Rake::Task.new(:features) do |t| @@ -30,5 +22,20 @@ begin task.options += ["--display-cop-names", "--no-color"] end rescue LoadError - puts "chefstyle/rubocop is not available. gem install chefstyle to do style checking." + puts "chefstyle/rubocop is not available. bundle install first to make sure all dependencies are installed." +end + +begin + require "yard" + YARD::Rake::YardocTask.new(:docs) +rescue LoadError + puts "yard is not available. bundle install first to make sure all dependencies are installed." +end + +task :console do + require "irb" + require "irb/completion" + require "mixlib/log" + ARGV.clear + IRB.start end diff --git a/lib/mixlib/log/version.rb b/lib/mixlib/log/version.rb index e213a6c..653a176 100644 --- a/lib/mixlib/log/version.rb +++ b/lib/mixlib/log/version.rb @@ -1,5 +1,5 @@ module Mixlib module Log - VERSION = "2.0.6" + VERSION = "2.0.6".freeze end end diff --git a/mixlib-log.gemspec b/mixlib-log.gemspec index a97216e..fe418eb 100644 --- a/mixlib-log.gemspec +++ b/mixlib-log.gemspec @@ -4,18 +4,12 @@ require "mixlib/log/version" Gem::Specification.new do |gem| gem.name = "mixlib-log" gem.version = Mixlib::Log::VERSION - gem.platform = Gem::Platform::RUBY gem.summary = "A gem that provides a simple mixin for log functionality" gem.email = "info@chef.io" gem.homepage = "https://www.chef.io" gem.license = "Apache-2.0" gem.authors = ["Chef Software, Inc."] - gem.has_rdoc = true gem.extra_rdoc_files = ["README.md", "LICENSE", "NOTICE"] gem.files = Dir["lib/**/*"] + Dir["spec/**/*"] + ["Gemfile", "Rakefile", ".gemtest", "mixlib-log.gemspec"] gem.required_ruby_version = ">= 2.2" - gem.add_development_dependency "rake" - gem.add_development_dependency "rspec", "~> 3.7" - gem.add_development_dependency "chefstyle" - gem.add_development_dependency "cucumber" end