Quandl::Utility
Purpose
The purpose of this gem is to:
- maintain semantic versioning
- maintain a changelog that lists commits for each version, matching a set of patterns
Installation
gem 'quandl_utility'
Configuration
Add this to your Rakefile:
require 'quandl/utility/rake_tasks'
Quandl::Utility::Tasks.configure do |c|
c.name = 'gem_name'
c.version_path = 'VERSION'
c.changelog_path = 'CHANGELOG.md'
c.changelog_matching = ['^JIRA','^GITHUB']
end
Usage
$ rake -T
rake gem_name:bump:major # Perform major bump to gem_name
rake gem_name:bump:minor # Perform minor bump to gem_name
rake gem_name:bump:patch # Perform patch bump to gem_name
$ rake gem_name:bump:minor && rake release
Thor Tasks
Quandl::Utility Thor tasks are available in two ways:
- Using the executable 'qutil'
qutil notify slack 'general' 'ping!'
- Including in your Thorfile
require 'quandl/utility/thor_tasks'
desc 'my_task'
def my_task
invoke 'qutil:slack:notify', ['general', 'ping!']
end
Lint
Linting tasks. Currently supports Rubocop and Foodcritic for linting Ruby projects and Chef cookbooks.
qutil lint help
ruby
Run Rubocop linting on project.
qutil lint ruby
init_ruby
Initialize Rubocop linting on project. Create two files: an organization base YAML config of linting rules, and an empty project YAML config that inherits from the organization config.
qutil lint init_ruby
cookbook
qutil lint cookbook
CI
Task for the Continuous Integration server.
qutil ci help
notify_slack
Notify slack of build status. Uses various tddium ENV variables to build a message that is sent to slack.
qutil ci notify_slack
Notify
Task for notifications. Currently supports sending messages to Slack.
qutil notify help
slack
qutil notify slack MESSAGE CHANNEL