class PoiseBoiler::Helpers::Rake::Core

Helper for a Rakefile to install some standard tasks used by most Poise/Halite-style gems.

@since 1.0.0 @example Installing tasks

require 'poise_boiler/helpers/rake/core'
PoiseBoiler::Helpers::Rake::Core.install

@example Running tests

$ rake test

Public Instance Methods

install() click to toggle source

Install the rake tasks.

@return [void]

# File lib/poise_boiler/helpers/rake/core.rb, line 36
def install
  # Delayed so that Rake doesn't need to be loaded to run this file.
  extend ::Rake::DSL

  # Set the default task.
  task default: %i{test}

  # Create the spec task.
  require 'rspec/core/rake_task'
  RSpec::Core::RakeTask.new(:spec, :tag) do |t, args|
    t.rspec_opts = [].tap do |a|
      a << '--color'
      a << "--format #{ENV['CI'] ? 'documentation' : 'Fuubar'}"
      a << '--backtrace' if ENV['VERBOSE'] || ENV['DEBUG']
      a << "--seed #{ENV['SEED']}" if ENV['SEED']
      a << "--tag #{args[:tag]}" if args[:tag]
      a << "--default-path test"
      a << '-I test/spec'
    end.join(' ')
  end

  # Create the test task (which Halite will extend).
  task test: %i{spec}

  # Install gem tasks (build, upload, etc).
  unless options[:no_gem]
    require 'bundler/gem_helper'
    Bundler::GemHelper.install_tasks(options[:bundler] || {})
  end

  # Install the Halite tasks.
  require 'halite/rake_helper'
  Halite::RakeHelper.install(options)
end